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

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

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

_Z17upx_doctest_checkiPPc:
   44|  15.9k|int upx_doctest_check(int argc, char **argv) {
   45|       |#if defined(DOCTEST_CONFIG_DISABLE)
   46|       |    UNUSED(argc);
   47|       |    UNUSED(argv);
   48|       |    return 0;
   49|       |#else
   50|  15.9k|    if (is_envvar_true("UPX_DEBUG_DOCTEST_DISABLE", "UPX_DEBUG_DISABLE_DOCTEST"))
  ------------------
  |  Branch (50:9): [True: 0, False: 15.9k]
  ------------------
   51|      0|        return 0;
   52|  15.9k|    bool minimal = true;   // don't show summary
   53|  15.9k|    bool duration = false; // don't show timings
   54|  15.9k|    bool success = false;  // don't show all succeeding tests
   55|       |#if DEBUG
   56|       |    // default for debug builds: do show the [doctest] summary
   57|       |    minimal = false;
   58|       |#endif
   59|  15.9k|    const char *e = upx_getenv("UPX_DEBUG_DOCTEST_VERBOSE");
   60|  15.9k|    if (e && e[0]) {
  ------------------
  |  Branch (60:9): [True: 0, False: 15.9k]
  |  Branch (60:14): [True: 0, False: 0]
  ------------------
   61|      0|        if (strcmp(e, "0") == 0) {
  ------------------
  |  Branch (61:13): [True: 0, False: 0]
  ------------------
   62|      0|            minimal = true;
   63|      0|        } else if (strcmp(e, "1") == 0) {
  ------------------
  |  Branch (63:20): [True: 0, False: 0]
  ------------------
   64|      0|            minimal = false;
   65|      0|        } else if (strcmp(e, "2") == 0) {
  ------------------
  |  Branch (65:20): [True: 0, False: 0]
  ------------------
   66|      0|            minimal = false;
   67|      0|            duration = true;
   68|      0|        } else if (strcmp(e, "3") == 0) {
  ------------------
  |  Branch (68:20): [True: 0, False: 0]
  ------------------
   69|      0|            minimal = false;
   70|      0|            duration = true;
   71|      0|            success = true;
   72|      0|        }
   73|      0|    }
   74|  15.9k|    doctest::Context context;
   75|  15.9k|    if (minimal)
  ------------------
  |  Branch (75:9): [True: 15.9k, False: 0]
  ------------------
   76|  15.9k|        context.setOption("dt-minimal", true);
   77|  15.9k|    if (duration)
  ------------------
  |  Branch (77:9): [True: 0, False: 15.9k]
  ------------------
   78|      0|        context.setOption("dt-duration", true);
   79|  15.9k|    if (success)
  ------------------
  |  Branch (79:9): [True: 0, False: 15.9k]
  ------------------
   80|      0|        context.setOption("dt-success", true);
   81|       |    // this requires that main_get_options() understands/ignores doctest "--dt-XXX" options
   82|  15.9k|    if (argc > 0 && argv != nullptr)
  ------------------
  |  Branch (82:9): [True: 15.9k, False: 0]
  |  Branch (82:21): [True: 15.9k, False: 0]
  ------------------
   83|  15.9k|        context.applyCommandLine(argc, argv);
   84|  15.9k|    int r = context.run();
   85|  15.9k|    if (r != 0)
  ------------------
  |  Branch (85:9): [True: 0, False: 15.9k]
  ------------------
   86|      0|        return 1;
   87|  15.9k|    if (context.shouldExit())
  ------------------
  |  Branch (87:9): [True: 0, False: 15.9k]
  ------------------
   88|      0|        return 2;
   89|  15.9k|    return 0;
   90|  15.9k|#endif // DOCTEST_CONFIG_DISABLE
   91|  15.9k|}
_Z25upx_compiler_sanity_checkv:
  883|  31.8k|void upx_compiler_sanity_check() noexcept {
  884|  31.8k|    check_basic_floating_point();
  885|       |
  886|  31.8k|    if (is_envvar_true("UPX_DEBUG_DOCTEST_DISABLE", "UPX_DEBUG_DISABLE_DOCTEST")) {
  ------------------
  |  Branch (886:9): [True: 0, False: 31.8k]
  ------------------
  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|  31.8k|    } else {
  890|       |        // check working C++ exception handling to early catch toolchain/qemu/wine/etc problems
  891|  31.8k|        check_basic_cxx_exception_handling(throwSomeValue);
  892|  31.8k|    }
  893|       |
  894|       |    // check_basic_decltype()
  895|  31.8k|    {
  896|  31.8k|        auto a = +0;
  897|  31.8k|        constexpr auto b = -0;
  898|  31.8k|        const auto &c = -1;
  899|  31.8k|        static_assert((std::is_same<int, decltype(a)>::value));
  900|  31.8k|        static_assert((std::is_same<const int, decltype(b)>::value));
  901|  31.8k|        static_assert((std::is_same<const int &, decltype(c)>::value));
  902|  31.8k|        UNUSED(a);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  903|  31.8k|        UNUSED(b);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  904|  31.8k|        UNUSED(c);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  905|  31.8k|    }
  906|       |
  907|  31.8k|#define ACC_WANT_ACC_CHK_CH 1
  908|  31.8k|#undef ACCCHK_ASSERT
  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  910|  31.8k|#include "../util/miniacc.h"
  ------------------
  |  |    1|       |/* ACC --- Automatic Compiler Configuration
  |  |    2|       |
  |  |    3|       |   This file is part of the UPX executable compressor.
  |  |    4|       |
  |  |    5|       |   Copyright (C) Markus Franz Xaver Johannes Oberhumer
  |  |    6|       |   All Rights Reserved.
  |  |    7|       |
  |  |    8|       |   UPX and the UCL library are free software; you can redistribute them
  |  |    9|       |   and/or modify them under the terms of the GNU General Public License as
  |  |   10|       |   published by the Free Software Foundation; either version 2 of
  |  |   11|       |   the License, or (at your option) any later version.
  |  |   12|       |
  |  |   13|       |   This program is distributed in the hope that it will be useful,
  |  |   14|       |   but WITHOUT ANY WARRANTY; without even the implied warranty of
  |  |   15|       |   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  |  |   16|       |   GNU General Public License for more details.
  |  |   17|       |
  |  |   18|       |   You should have received a copy of the GNU General Public License
  |  |   19|       |   along with this program; see the file COPYING.
  |  |   20|       |   If not, write to the Free Software Foundation, Inc.,
  |  |   21|       |   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  |  |   22|       |
  |  |   23|       |   Markus F.X.J. Oberhumer
  |  |   24|       |   <markus@oberhumer.com>
  |  |   25|       |   http://www.oberhumer.com/
  |  |   26|       | */
  |  |   27|       |
  |  |   28|       |/* clang-format off */
  |  |   29|       |
  |  |   30|       |#ifndef __ACC_H_INCLUDED
  |  |   31|       |#define __ACC_H_INCLUDED 1
  |  |   32|       |#define ACC_VERSION     20240701L
  |  |   33|       |#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
  |  |   34|       |#  define __CYGWIN__ __CYGWIN32__
  |  |   35|       |#endif
  |  |   36|       |#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
  |  |   37|       |#  define _ALL_SOURCE 1
  |  |   38|       |#endif
  |  |   39|       |#if defined(__mips__) && defined(__R5900__)
  |  |   40|       |#  if !defined(__LONG_MAX__)
  |  |   41|       |#    define __LONG_MAX__ 9223372036854775807L
  |  |   42|       |#  endif
  |  |   43|       |#endif
  |  |   44|       |#if 0
  |  |   45|       |#elif !defined(__ACC_LANG_OVERRIDE)
  |  |   46|       |#if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__)
  |  |   47|       |#  if (__ASSEMBLER__+0) <= 0
  |  |   48|       |#    error "__ASSEMBLER__"
  |  |   49|       |#  else
  |  |   50|       |#    define ACC_LANG_ASSEMBLER  1
  |  |   51|       |#  endif
  |  |   52|       |#elif defined(__cplusplus)
  |  |   53|       |#  if (__cplusplus+0) <= 0
  |  |   54|       |#    error "__cplusplus"
  |  |   55|       |#  elif (__cplusplus < 199711L)
  |  |   56|       |#    define ACC_LANG_CXX        1
  |  |   57|       |#  elif (__cplusplus >= 201402L)
  |  |   58|       |#    define ACC_LANG_CXX        __cplusplus
  |  |   59|       |#  elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1
  |  |   60|       |#    define ACC_LANG_CXX        _MSVC_LANG
  |  |   61|       |#  else
  |  |   62|       |#    define ACC_LANG_CXX        __cplusplus
  |  |   63|       |#  endif
  |  |   64|       |#  define ACC_LANG_CPLUSPLUS    ACC_LANG_CXX
  |  |   65|       |#else
  |  |   66|       |#  if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L)
  |  |   67|       |#    define ACC_LANG_C          __STDC_VERSION__
  |  |   68|       |#  else
  |  |   69|       |#    define ACC_LANG_C          1
  |  |   70|       |#  endif
  |  |   71|       |#endif
  |  |   72|       |#endif
  |  |   73|       |#if defined(ACC_CFG_ASSERT_LANG_ASSEMBLER) && (ACC_CFG_ASSERT_LANG_ASSEMBLER+0)
  |  |   74|       |#  if !(ACC_LANG_ASSEMBLER)
  |  |   75|       |#    error "ACC_CFG_ASSERT_LANG_ASSEMBLER"
  |  |   76|       |#  endif
  |  |   77|       |#  if (ACC_CFG_ASSERT_LANG_ASSEMBLER > 1) && (ACC_CFG_ASSERT_LANG_ASSEMBLER < ACC_LANG_ASSEMBLER)
  |  |   78|       |#    error "ACC_CFG_ASSERT_LANG_ASSEMBLER standard min version"
  |  |   79|       |#  endif
  |  |   80|       |#endif
  |  |   81|       |#if defined(ACC_CFG_ASSERT_LANG_C) && (ACC_CFG_ASSERT_LANG_C+0)
  |  |   82|       |#  if !(ACC_LANG_C)
  |  |   83|       |#    error "ACC_CFG_ASSERT_LANG_C"
  |  |   84|       |#  endif
  |  |   85|       |#  if (ACC_CFG_ASSERT_LANG_C > 1) && (ACC_CFG_ASSERT_LANG_C < ACC_LANG_C)
  |  |   86|       |#    error "ACC_CFG_ASSERT_LANG_C standard min version"
  |  |   87|       |#  endif
  |  |   88|       |#endif
  |  |   89|       |#if defined(ACC_CFG_ASSERT_LANG_CXX) && (ACC_CFG_ASSERT_LANG_CXX+0)
  |  |   90|       |#  if !(ACC_LANG_CXX)
  |  |   91|       |#    error "ACC_CFG_ASSERT_LANG_CXX"
  |  |   92|       |#  endif
  |  |   93|       |#  if !defined(__cplusplus)
  |  |   94|       |#    error "ACC_CFG_ASSERT_LANG_CXX  __cplusplus"
  |  |   95|       |#  endif
  |  |   96|       |#  if (ACC_CFG_ASSERT_LANG_CXX > 1) && (ACC_CFG_ASSERT_LANG_CXX < ACC_LANG_CXX)
  |  |   97|       |#    error "ACC_CFG_ASSERT_LANG_CXX standard min version"
  |  |   98|       |#  endif
  |  |   99|       |#endif
  |  |  100|       |#if !defined(ACC_CFG_NO_DISABLE_WUNDEF)
  |  |  101|       |#if defined(__ARMCC_VERSION)
  |  |  102|       |#  pragma diag_suppress 193
  |  |  103|       |#elif defined(__clang__) && defined(__clang_minor__)
  |  |  104|       |#  pragma clang diagnostic ignored "-Wundef"
  |  |  105|       |#elif defined(__INTEL_COMPILER)
  |  |  106|       |#  pragma warning(disable: 193)
  |  |  107|       |#elif defined(__KEIL__) && defined(__C166__)
  |  |  108|       |#  pragma warning disable = 322
  |  |  109|       |#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__)
  |  |  110|       |#  if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2))
  |  |  111|       |#    pragma GCC diagnostic ignored "-Wundef"
  |  |  112|       |#  endif
  |  |  113|       |#elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
  |  |  114|       |#  if ((_MSC_VER-0) >= 1300)
  |  |  115|       |#    pragma warning(disable: 4668)
  |  |  116|       |#  endif
  |  |  117|       |#endif
  |  |  118|       |#endif
  |  |  119|       |#if 0 && defined(__POCC__) && defined(_WIN32)
  |  |  120|       |#  if (__POCC__ >= 400)
  |  |  121|       |#    pragma warn(disable: 2216)
  |  |  122|       |#  endif
  |  |  123|       |#endif
  |  |  124|       |#if 0 && defined(__WATCOMC__)
  |  |  125|       |#  if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
  |  |  126|       |#    pragma warning 203 9
  |  |  127|       |#  endif
  |  |  128|       |#endif
  |  |  129|       |#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
  |  |  130|       |#  pragma option -h
  |  |  131|       |#endif
  |  |  132|       |#if !(ACC_CFG_NO_DISABLE_WCRTNONSTDC)
  |  |  133|       |#ifndef _CRT_NONSTDC_NO_DEPRECATE
  |  |  134|       |#define _CRT_NONSTDC_NO_DEPRECATE 1
  |  |  135|       |#endif
  |  |  136|       |#ifndef _CRT_NONSTDC_NO_WARNINGS
  |  |  137|       |#define _CRT_NONSTDC_NO_WARNINGS 1
  |  |  138|       |#endif
  |  |  139|       |#ifndef _CRT_SECURE_NO_DEPRECATE
  |  |  140|       |#define _CRT_SECURE_NO_DEPRECATE 1
  |  |  141|       |#endif
  |  |  142|       |#ifndef _CRT_SECURE_NO_WARNINGS
  |  |  143|       |#define _CRT_SECURE_NO_WARNINGS 1
  |  |  144|       |#endif
  |  |  145|       |#endif
  |  |  146|       |#if (ACC_CFG_NO_CONFIG_HEADER)
  |  |  147|       |#elif defined(ACC_CFG_CONFIG_HEADER)
  |  |  148|       |#  include ACC_CFG_CONFIG_HEADER
  |  |  149|       |#else
  |  |  150|       |#endif
  |  |  151|       |#if (ACC_CFG_NO_LIMITS_H)
  |  |  152|       |#elif (ACC_LIBC_NAKED) || (ACC_BROKEN_LIMITS_H)
  |  |  153|       |#ifndef __ACC_FALLBACK_LIMITS_H_INCLUDED
  |  |  154|       |#define __ACC_FALLBACK_LIMITS_H_INCLUDED 1
  |  |  155|       |#undef CHAR_BIT
  |  |  156|       |#define CHAR_BIT        8
  |  |  157|       |#ifndef MB_LEN_MAX
  |  |  158|       |#define MB_LEN_MAX      1
  |  |  159|       |#endif
  |  |  160|       |#ifndef __SCHAR_MAX__
  |  |  161|       |#define __SCHAR_MAX__   127
  |  |  162|       |#endif
  |  |  163|       |#ifndef __SHRT_MAX__
  |  |  164|       |#define __SHRT_MAX__    32767
  |  |  165|       |#endif
  |  |  166|       |#ifndef __INT_MAX__
  |  |  167|       |#define __INT_MAX__     2147483647
  |  |  168|       |#endif
  |  |  169|       |#ifndef __LONG_MAX__
  |  |  170|       |#if defined(_ILP32) || defined(__ILP32__)
  |  |  171|       |#define __LONG_MAX__    2147483647L
  |  |  172|       |#elif defined(__alpha__) || defined(_LP64) || defined(__MIPS_PSX2__)
  |  |  173|       |#define __LONG_MAX__    9223372036854775807L
  |  |  174|       |#else
  |  |  175|       |#define __LONG_MAX__    2147483647L
  |  |  176|       |#endif
  |  |  177|       |#endif
  |  |  178|       |#undef SCHAR_MIN
  |  |  179|       |#undef SCHAR_MAX
  |  |  180|       |#undef UCHAR_MAX
  |  |  181|       |#define SCHAR_MIN       (-1 - SCHAR_MAX)
  |  |  182|       |#define SCHAR_MAX       (__SCHAR_MAX__)
  |  |  183|       |#define UCHAR_MAX       (SCHAR_MAX * 2 + 1)
  |  |  184|       |#undef SHRT_MIN
  |  |  185|       |#undef SHRT_MAX
  |  |  186|       |#undef USHRT_MAX
  |  |  187|       |#define SHRT_MIN        (-1 - SHRT_MAX)
  |  |  188|       |#define SHRT_MAX        (__SHRT_MAX__)
  |  |  189|       |#if ((__INT_MAX__) == (__SHRT_MAX__))
  |  |  190|       |#define USHRT_MAX       (SHRT_MAX * 2U + 1U)
  |  |  191|       |#else
  |  |  192|       |#define USHRT_MAX       (SHRT_MAX * 2 + 1)
  |  |  193|       |#endif
  |  |  194|       |#undef INT_MIN
  |  |  195|       |#undef INT_MAX
  |  |  196|       |#undef UINT_MAX
  |  |  197|       |#define INT_MIN         (-1 - INT_MAX)
  |  |  198|       |#define INT_MAX         (__INT_MAX__)
  |  |  199|       |#define UINT_MAX        (INT_MAX * 2U + 1U)
  |  |  200|       |#undef LONG_MIN
  |  |  201|       |#undef LONG_MAX
  |  |  202|       |#undef ULONG_MAX
  |  |  203|       |#define LONG_MIN        (-1L - LONG_MAX)
  |  |  204|       |#define LONG_MAX        ((__LONG_MAX__) + 0L)
  |  |  205|       |#define ULONG_MAX       (LONG_MAX * 2UL + 1UL)
  |  |  206|       |#undef CHAR_MIN
  |  |  207|       |#undef CHAR_MAX
  |  |  208|       |#if defined(__CHAR_UNSIGNED__) || defined(_CHAR_UNSIGNED)
  |  |  209|       |#define CHAR_MIN        0
  |  |  210|       |#define CHAR_MAX        UCHAR_MAX
  |  |  211|       |#else
  |  |  212|       |#define CHAR_MIN        SCHAR_MIN
  |  |  213|       |#define CHAR_MAX        SCHAR_MAX
  |  |  214|       |#endif
  |  |  215|       |#endif
  |  |  216|       |#else
  |  |  217|       |#  include <limits.h>
  |  |  218|       |#endif
  |  |  219|       |#if 0
  |  |  220|       |#define ACC_0xffffUL            0xfffful
  |  |  221|       |#define ACC_0xffffffffUL        0xfffffffful
  |  |  222|       |#else
  |  |  223|       |#define ACC_0xffffUL            65535ul
  |  |  224|       |#define ACC_0xffffffffUL        4294967295ul
  |  |  225|       |#endif
  |  |  226|       |#define ACC_0xffffL             ACC_0xffffUL
  |  |  227|       |#define ACC_0xffffffffL         ACC_0xffffffffUL
  |  |  228|       |#if (ACC_0xffffL == ACC_0xffffffffL)
  |  |  229|       |#  error "your preprocessor is broken 1"
  |  |  230|       |#endif
  |  |  231|       |#if (16ul * 16384ul != 262144ul)
  |  |  232|       |#  error "your preprocessor is broken 2"
  |  |  233|       |#endif
  |  |  234|       |#if 0
  |  |  235|       |#if (32767 >= 4294967295ul)
  |  |  236|       |#  error "your preprocessor is broken 3"
  |  |  237|       |#endif
  |  |  238|       |#if (65535u >= 4294967295ul)
  |  |  239|       |#  error "your preprocessor is broken 4"
  |  |  240|       |#endif
  |  |  241|       |#endif
  |  |  242|       |#if defined(__COUNTER__)
  |  |  243|       |#  ifndef ACC_CFG_USE_COUNTER
  |  |  244|       |#  define ACC_CFG_USE_COUNTER 1
  |  |  245|       |#  endif
  |  |  246|       |#else
  |  |  247|       |#  undef ACC_CFG_USE_COUNTER
  |  |  248|       |#endif
  |  |  249|       |#if (UINT_MAX == ACC_0xffffL)
  |  |  250|       |#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
  |  |  251|       |#  if !defined(MSDOS)
  |  |  252|       |#    define MSDOS 1
  |  |  253|       |#  endif
  |  |  254|       |#  if !defined(_MSDOS)
  |  |  255|       |#    define _MSDOS 1
  |  |  256|       |#  endif
  |  |  257|       |#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
  |  |  258|       |#  if (__VERSION == 520) && (MB_LEN_MAX == 1)
  |  |  259|       |#    if !defined(__AZTEC_C__)
  |  |  260|       |#      define __AZTEC_C__ __VERSION
  |  |  261|       |#    endif
  |  |  262|       |#    if !defined(__DOS__)
  |  |  263|       |#      define __DOS__ 1
  |  |  264|       |#    endif
  |  |  265|       |#  endif
  |  |  266|       |#endif
  |  |  267|       |#endif
  |  |  268|       |#if (UINT_MAX == ACC_0xffffL)
  |  |  269|       |#if defined(_MSC_VER) && defined(M_I86HM)
  |  |  270|       |#  define ptrdiff_t long
  |  |  271|       |#  define _PTRDIFF_T_DEFINED 1
  |  |  272|       |#endif
  |  |  273|       |#endif
  |  |  274|       |#if (UINT_MAX == ACC_0xffffL)
  |  |  275|       |#  undef __ACC_RENAME_A
  |  |  276|       |#  undef __ACC_RENAME_B
  |  |  277|       |#  if defined(__AZTEC_C__) && defined(__DOS__)
  |  |  278|       |#    define __ACC_RENAME_A 1
  |  |  279|       |#  elif defined(_MSC_VER) && defined(MSDOS)
  |  |  280|       |#    if (_MSC_VER < 600)
  |  |  281|       |#      define __ACC_RENAME_A 1
  |  |  282|       |#    elif (_MSC_VER < 700)
  |  |  283|       |#      define __ACC_RENAME_B 1
  |  |  284|       |#    endif
  |  |  285|       |#  elif defined(__TSC__) && defined(__OS2__)
  |  |  286|       |#    define __ACC_RENAME_A 1
  |  |  287|       |#  elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)
  |  |  288|       |#    define __ACC_RENAME_A 1
  |  |  289|       |#  elif defined(__PACIFIC__) && defined(DOS)
  |  |  290|       |#    if !defined(__far)
  |  |  291|       |#      define __far far
  |  |  292|       |#    endif
  |  |  293|       |#    if !defined(__near)
  |  |  294|       |#      define __near near
  |  |  295|       |#    endif
  |  |  296|       |#  endif
  |  |  297|       |#  if defined(__ACC_RENAME_A)
  |  |  298|       |#    if !defined(__cdecl)
  |  |  299|       |#      define __cdecl cdecl
  |  |  300|       |#    endif
  |  |  301|       |#    if !defined(__far)
  |  |  302|       |#      define __far far
  |  |  303|       |#    endif
  |  |  304|       |#    if !defined(__huge)
  |  |  305|       |#      define __huge huge
  |  |  306|       |#    endif
  |  |  307|       |#    if !defined(__near)
  |  |  308|       |#      define __near near
  |  |  309|       |#    endif
  |  |  310|       |#    if !defined(__pascal)
  |  |  311|       |#      define __pascal pascal
  |  |  312|       |#    endif
  |  |  313|       |#    if !defined(__huge)
  |  |  314|       |#      define __huge huge
  |  |  315|       |#    endif
  |  |  316|       |#  elif defined(__ACC_RENAME_B)
  |  |  317|       |#    if !defined(__cdecl)
  |  |  318|       |#      define __cdecl _cdecl
  |  |  319|       |#    endif
  |  |  320|       |#    if !defined(__far)
  |  |  321|       |#      define __far _far
  |  |  322|       |#    endif
  |  |  323|       |#    if !defined(__huge)
  |  |  324|       |#      define __huge _huge
  |  |  325|       |#    endif
  |  |  326|       |#    if !defined(__near)
  |  |  327|       |#      define __near _near
  |  |  328|       |#    endif
  |  |  329|       |#    if !defined(__pascal)
  |  |  330|       |#      define __pascal _pascal
  |  |  331|       |#    endif
  |  |  332|       |#  elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
  |  |  333|       |#    if !defined(__cdecl)
  |  |  334|       |#      define __cdecl cdecl
  |  |  335|       |#    endif
  |  |  336|       |#    if !defined(__pascal)
  |  |  337|       |#      define __pascal pascal
  |  |  338|       |#    endif
  |  |  339|       |#  endif
  |  |  340|       |#  undef __ACC_RENAME_A
  |  |  341|       |#  undef __ACC_RENAME_B
  |  |  342|       |#endif
  |  |  343|       |#if (UINT_MAX == ACC_0xffffL)
  |  |  344|       |#if defined(__AZTEC_C__) && defined(__DOS__)
  |  |  345|       |#  define ACC_BROKEN_CDECL_ALT_SYNTAX 1
  |  |  346|       |#elif defined(_MSC_VER) && defined(MSDOS)
  |  |  347|       |#  if (_MSC_VER < 600)
  |  |  348|       |#    define ACC_BROKEN_INTEGRAL_CONSTANTS 1
  |  |  349|       |#  endif
  |  |  350|       |#  if (_MSC_VER < 700)
  |  |  351|       |#    define ACC_BROKEN_INTEGRAL_PROMOTION 1
  |  |  352|       |#    define ACC_BROKEN_SIZEOF 1
  |  |  353|       |#  endif
  |  |  354|       |#elif defined(__PACIFIC__) && defined(DOS)
  |  |  355|       |#  define ACC_BROKEN_INTEGRAL_CONSTANTS 1
  |  |  356|       |#elif defined(__TURBOC__) && defined(__MSDOS__)
  |  |  357|       |#  if (__TURBOC__ < 0x0150)
  |  |  358|       |#    define ACC_BROKEN_CDECL_ALT_SYNTAX 1
  |  |  359|       |#    define ACC_BROKEN_INTEGRAL_CONSTANTS 1
  |  |  360|       |#    define ACC_BROKEN_INTEGRAL_PROMOTION 1
  |  |  361|       |#  endif
  |  |  362|       |#  if (__TURBOC__ < 0x0200)
  |  |  363|       |#    define ACC_BROKEN_SIZEOF 1
  |  |  364|       |#  endif
  |  |  365|       |#  if (__TURBOC__ < 0x0400) && defined(__cplusplus)
  |  |  366|       |#    define ACC_BROKEN_CDECL_ALT_SYNTAX 1
  |  |  367|       |#  endif
  |  |  368|       |#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
  |  |  369|       |#  define ACC_BROKEN_CDECL_ALT_SYNTAX 1
  |  |  370|       |#  define ACC_BROKEN_SIZEOF 1
  |  |  371|       |#endif
  |  |  372|       |#endif
  |  |  373|       |#if defined(__WATCOMC__) && (__WATCOMC__ < 900)
  |  |  374|       |#  define ACC_BROKEN_INTEGRAL_CONSTANTS 1
  |  |  375|       |#endif
  |  |  376|       |#if defined(_CRAY) && defined(_CRAY1)
  |  |  377|       |#  define ACC_BROKEN_SIGNED_RIGHT_SHIFT 1
  |  |  378|       |#endif
  |  |  379|       |#define ACC_PP_STRINGIZE(x)             #x
  |  |  380|       |#define ACC_PP_MACRO_EXPAND(x)          ACC_PP_STRINGIZE(x)
  |  |  381|       |#define ACC_PP_CONCAT0()                /*empty*/
  |  |  382|       |#define ACC_PP_CONCAT1(a)               a
  |  |  383|       |#define ACC_PP_CONCAT2(a,b)             a ## b
  |  |  384|       |#define ACC_PP_CONCAT3(a,b,c)           a ## b ## c
  |  |  385|       |#define ACC_PP_CONCAT4(a,b,c,d)         a ## b ## c ## d
  |  |  386|       |#define ACC_PP_CONCAT5(a,b,c,d,e)       a ## b ## c ## d ## e
  |  |  387|       |#define ACC_PP_CONCAT6(a,b,c,d,e,f)     a ## b ## c ## d ## e ## f
  |  |  388|       |#define ACC_PP_CONCAT7(a,b,c,d,e,f,g)   a ## b ## c ## d ## e ## f ## g
  |  |  389|       |#define ACC_PP_ECONCAT0()               ACC_PP_CONCAT0()
  |  |  390|       |#define ACC_PP_ECONCAT1(a)              ACC_PP_CONCAT1(a)
  |  |  391|       |#define ACC_PP_ECONCAT2(a,b)            ACC_PP_CONCAT2(a,b)
  |  |  392|       |#define ACC_PP_ECONCAT3(a,b,c)          ACC_PP_CONCAT3(a,b,c)
  |  |  393|       |#define ACC_PP_ECONCAT4(a,b,c,d)        ACC_PP_CONCAT4(a,b,c,d)
  |  |  394|       |#define ACC_PP_ECONCAT5(a,b,c,d,e)      ACC_PP_CONCAT5(a,b,c,d,e)
  |  |  395|       |#define ACC_PP_ECONCAT6(a,b,c,d,e,f)    ACC_PP_CONCAT6(a,b,c,d,e,f)
  |  |  396|       |#define ACC_PP_ECONCAT7(a,b,c,d,e,f,g)  ACC_PP_CONCAT7(a,b,c,d,e,f,g)
  |  |  397|       |#define ACC_PP_EMPTY                    /*empty*/
  |  |  398|       |#define ACC_PP_EMPTY0()                 /*empty*/
  |  |  399|       |#define ACC_PP_EMPTY1(a)                /*empty*/
  |  |  400|       |#define ACC_PP_EMPTY2(a,b)              /*empty*/
  |  |  401|       |#define ACC_PP_EMPTY3(a,b,c)            /*empty*/
  |  |  402|       |#define ACC_PP_EMPTY4(a,b,c,d)          /*empty*/
  |  |  403|       |#define ACC_PP_EMPTY5(a,b,c,d,e)        /*empty*/
  |  |  404|       |#define ACC_PP_EMPTY6(a,b,c,d,e,f)      /*empty*/
  |  |  405|       |#define ACC_PP_EMPTY7(a,b,c,d,e,f,g)    /*empty*/
  |  |  406|       |#if 1
  |  |  407|       |#define ACC_CPP_STRINGIZE(x)            #x
  |  |  408|       |#define ACC_CPP_MACRO_EXPAND(x)         ACC_CPP_STRINGIZE(x)
  |  |  409|       |#define ACC_CPP_CONCAT2(a,b)            a ## b
  |  |  410|       |#define ACC_CPP_CONCAT3(a,b,c)          a ## b ## c
  |  |  411|       |#define ACC_CPP_CONCAT4(a,b,c,d)        a ## b ## c ## d
  |  |  412|       |#define ACC_CPP_CONCAT5(a,b,c,d,e)      a ## b ## c ## d ## e
  |  |  413|       |#define ACC_CPP_CONCAT6(a,b,c,d,e,f)    a ## b ## c ## d ## e ## f
  |  |  414|       |#define ACC_CPP_CONCAT7(a,b,c,d,e,f,g)  a ## b ## c ## d ## e ## f ## g
  |  |  415|       |#define ACC_CPP_ECONCAT2(a,b)           ACC_CPP_CONCAT2(a,b)
  |  |  416|       |#define ACC_CPP_ECONCAT3(a,b,c)         ACC_CPP_CONCAT3(a,b,c)
  |  |  417|       |#define ACC_CPP_ECONCAT4(a,b,c,d)       ACC_CPP_CONCAT4(a,b,c,d)
  |  |  418|       |#define ACC_CPP_ECONCAT5(a,b,c,d,e)     ACC_CPP_CONCAT5(a,b,c,d,e)
  |  |  419|       |#define ACC_CPP_ECONCAT6(a,b,c,d,e,f)   ACC_CPP_CONCAT6(a,b,c,d,e,f)
  |  |  420|       |#define ACC_CPP_ECONCAT7(a,b,c,d,e,f,g) ACC_CPP_CONCAT7(a,b,c,d,e,f,g)
  |  |  421|       |#endif
  |  |  422|       |#define __ACC_MASK_GEN(o,b)     (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0))
  |  |  423|       |#if 1 && defined(__cplusplus)
  |  |  424|       |#  if !defined(__STDC_CONSTANT_MACROS)
  |  |  425|       |#    define __STDC_CONSTANT_MACROS 1
  |  |  426|       |#  endif
  |  |  427|       |#  if !defined(__STDC_LIMIT_MACROS)
  |  |  428|       |#    define __STDC_LIMIT_MACROS 1
  |  |  429|       |#  endif
  |  |  430|       |#endif
  |  |  431|       |#if defined(__cplusplus)
  |  |  432|       |#  define ACC_EXTERN_C          extern "C"
  |  |  433|       |#  define ACC_EXTERN_C_BEGIN    extern "C" {
  |  |  434|       |#  define ACC_EXTERN_C_END      }
  |  |  435|       |#else
  |  |  436|       |#  define ACC_EXTERN_C          extern
  |  |  437|       |#  define ACC_EXTERN_C_BEGIN    /*empty*/
  |  |  438|       |#  define ACC_EXTERN_C_END      /*empty*/
  |  |  439|       |#endif
  |  |  440|       |#if !defined(ACC_nullptr)
  |  |  441|       |#if defined(__cplusplus) && (__cplusplus-0 >= 201103L)
  |  |  442|       |#  define ACC_nullptr           nullptr
  |  |  443|       |#endif
  |  |  444|       |#endif
  |  |  445|       |#if !defined(ACC_nullptr)
  |  |  446|       |#  define ACC_nullptr           NULL
  |  |  447|       |#endif
  |  |  448|       |#if !defined(__ACC_OS_OVERRIDE)
  |  |  449|       |#if (ACC_OS_FREESTANDING)
  |  |  450|       |#  define ACC_INFO_OS           "freestanding"
  |  |  451|       |#elif (ACC_OS_EMBEDDED)
  |  |  452|       |#  define ACC_INFO_OS           "embedded"
  |  |  453|       |#elif 1 && defined(__IAR_SYSTEMS_ICC__)
  |  |  454|       |#  define ACC_OS_EMBEDDED       1
  |  |  455|       |#  define ACC_INFO_OS           "embedded"
  |  |  456|       |#elif defined(__CYGWIN__) && defined(__GNUC__)
  |  |  457|       |#  define ACC_OS_CYGWIN         1
  |  |  458|       |#  define ACC_INFO_OS           "cygwin"
  |  |  459|       |#elif defined(__EMX__) && defined(__GNUC__)
  |  |  460|       |#  define ACC_OS_EMX            1
  |  |  461|       |#  define ACC_INFO_OS           "emx"
  |  |  462|       |#elif defined(__BEOS__)
  |  |  463|       |#  define ACC_OS_BEOS           1
  |  |  464|       |#  define ACC_INFO_OS           "beos"
  |  |  465|       |#elif defined(__Lynx__)
  |  |  466|       |#  define ACC_OS_LYNXOS         1
  |  |  467|       |#  define ACC_INFO_OS           "lynxos"
  |  |  468|       |#elif defined(__OS400__)
  |  |  469|       |#  define ACC_OS_OS400          1
  |  |  470|       |#  define ACC_INFO_OS           "os400"
  |  |  471|       |#elif defined(__QNX__)
  |  |  472|       |#  define ACC_OS_QNX            1
  |  |  473|       |#  define ACC_INFO_OS           "qnx"
  |  |  474|       |#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460)
  |  |  475|       |#  define ACC_OS_DOS32          1
  |  |  476|       |#  define ACC_INFO_OS           "dos32"
  |  |  477|       |#elif defined(__BORLANDC__) && defined(__DPMI16__)
  |  |  478|       |#  define ACC_OS_DOS16          1
  |  |  479|       |#  define ACC_INFO_OS           "dos16"
  |  |  480|       |#elif defined(__ZTC__) && defined(DOS386)
  |  |  481|       |#  define ACC_OS_DOS32          1
  |  |  482|       |#  define ACC_INFO_OS           "dos32"
  |  |  483|       |#elif defined(__OS2__) || defined(__OS2V2__)
  |  |  484|       |#  if (UINT_MAX == ACC_0xffffL)
  |  |  485|       |#    define ACC_OS_OS216        1
  |  |  486|       |#    define ACC_INFO_OS         "os216"
  |  |  487|       |#  elif (UINT_MAX == ACC_0xffffffffL)
  |  |  488|       |#    define ACC_OS_OS2          1
  |  |  489|       |#    define ACC_INFO_OS         "os2"
  |  |  490|       |#  else
  |  |  491|       |#    error "check your limits.h header"
  |  |  492|       |#  endif
  |  |  493|       |#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64)
  |  |  494|       |#  define ACC_OS_WIN64          1
  |  |  495|       |#  define ACC_INFO_OS           "win64"
  |  |  496|       |#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__)
  |  |  497|       |#  define ACC_OS_WIN32          1
  |  |  498|       |#  define ACC_INFO_OS           "win32"
  |  |  499|       |#elif defined(__MWERKS__) && defined(__INTEL__)
  |  |  500|       |#  define ACC_OS_WIN32          1
  |  |  501|       |#  define ACC_INFO_OS           "win32"
  |  |  502|       |#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows)
  |  |  503|       |#  if (UINT_MAX == ACC_0xffffL)
  |  |  504|       |#    define ACC_OS_WIN16        1
  |  |  505|       |#    define ACC_INFO_OS         "win16"
  |  |  506|       |#  elif (UINT_MAX == ACC_0xffffffffL)
  |  |  507|       |#    define ACC_OS_WIN32        1
  |  |  508|       |#    define ACC_INFO_OS         "win32"
  |  |  509|       |#  else
  |  |  510|       |#    error "check your limits.h header"
  |  |  511|       |#  endif
  |  |  512|       |#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS))
  |  |  513|       |#  if (UINT_MAX == ACC_0xffffL)
  |  |  514|       |#    define ACC_OS_DOS16        1
  |  |  515|       |#    define ACC_INFO_OS         "dos16"
  |  |  516|       |#  elif (UINT_MAX == ACC_0xffffffffL)
  |  |  517|       |#    define ACC_OS_DOS32        1
  |  |  518|       |#    define ACC_INFO_OS         "dos32"
  |  |  519|       |#  else
  |  |  520|       |#    error "check your limits.h header"
  |  |  521|       |#  endif
  |  |  522|       |#elif defined(__WATCOMC__)
  |  |  523|       |#  if defined(__NT__) && (UINT_MAX == ACC_0xffffL)
  |  |  524|       |#    define ACC_OS_DOS16        1
  |  |  525|       |#    define ACC_INFO_OS         "dos16"
  |  |  526|       |#  elif defined(__NT__) && (__WATCOMC__ < 1100)
  |  |  527|       |#    define ACC_OS_WIN32        1
  |  |  528|       |#    define ACC_INFO_OS         "win32"
  |  |  529|       |#  elif defined(__linux__) || defined(__LINUX__)
  |  |  530|       |#    define ACC_OS_POSIX        1
  |  |  531|       |#    define ACC_INFO_OS         "posix"
  |  |  532|       |#  else
  |  |  533|       |#    error "please specify a target using the -bt compiler option"
  |  |  534|       |#  endif
  |  |  535|       |#elif defined(__palmos__)
  |  |  536|       |#  define ACC_OS_PALMOS         1
  |  |  537|       |#  define ACC_INFO_OS           "palmos"
  |  |  538|       |#elif defined(__TOS__) || defined(__atarist__)
  |  |  539|       |#  define ACC_OS_TOS            1
  |  |  540|       |#  define ACC_INFO_OS           "tos"
  |  |  541|       |#elif defined(macintosh) && !defined(__arm__) && !defined(__i386__) && !defined(__ppc__) && !defined(__x64_64__)
  |  |  542|       |#  define ACC_OS_MACCLASSIC     1
  |  |  543|       |#  define ACC_INFO_OS           "macclassic"
  |  |  544|       |#elif defined(__VMS)
  |  |  545|       |#  define ACC_OS_VMS            1
  |  |  546|       |#  define ACC_INFO_OS           "vms"
  |  |  547|       |#elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)
  |  |  548|       |#  define ACC_OS_CONSOLE        1
  |  |  549|       |#  define ACC_OS_CONSOLE_PS2    1
  |  |  550|       |#  define ACC_INFO_OS           "console"
  |  |  551|       |#  define ACC_INFO_OS_CONSOLE   "ps2"
  |  |  552|       |#elif defined(__mips__) && defined(__psp__)
  |  |  553|       |#  define ACC_OS_CONSOLE        1
  |  |  554|       |#  define ACC_OS_CONSOLE_PSP    1
  |  |  555|       |#  define ACC_INFO_OS           "console"
  |  |  556|       |#  define ACC_INFO_OS_CONSOLE   "psp"
  |  |  557|       |#else
  |  |  558|       |#  define ACC_OS_POSIX          1
  |  |  559|       |#  define ACC_INFO_OS           "posix"
  |  |  560|       |#endif
  |  |  561|       |#if (ACC_OS_POSIX)
  |  |  562|       |#  if defined(_AIX) || defined(__AIX__) || defined(__aix__)
  |  |  563|       |#    define ACC_OS_POSIX_AIX        1
  |  |  564|       |#    define ACC_INFO_OS_POSIX       "aix"
  |  |  565|       |#  elif defined(__DragonFly__)
  |  |  566|       |#    define ACC_OS_POSIX_DRAGONFLY  1
  |  |  567|       |#    define ACC_INFO_OS_POSIX       "dragonfly"
  |  |  568|       |#  elif defined(__FreeBSD__)
  |  |  569|       |#    define ACC_OS_POSIX_FREEBSD    1
  |  |  570|       |#    define ACC_INFO_OS_POSIX       "freebsd"
  |  |  571|       |#  elif defined(__hpux__) || defined(__hpux)
  |  |  572|       |#    define ACC_OS_POSIX_HPUX       1
  |  |  573|       |#    define ACC_INFO_OS_POSIX       "hpux"
  |  |  574|       |#  elif defined(__INTERIX)
  |  |  575|       |#    define ACC_OS_POSIX_INTERIX    1
  |  |  576|       |#    define ACC_INFO_OS_POSIX       "interix"
  |  |  577|       |#  elif defined(__IRIX__) || defined(__irix__)
  |  |  578|       |#    define ACC_OS_POSIX_IRIX       1
  |  |  579|       |#    define ACC_INFO_OS_POSIX       "irix"
  |  |  580|       |#  elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
  |  |  581|       |#    define ACC_OS_POSIX_LINUX      1
  |  |  582|       |#    define ACC_INFO_OS_POSIX       "linux"
  |  |  583|       |#  elif defined(__APPLE__) && defined(__MACH__)
  |  |  584|       |#    if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000)
  |  |  585|       |#      define ACC_OS_POSIX_DARWIN     1040
  |  |  586|       |#      define ACC_INFO_OS_POSIX       "darwin_iphone"
  |  |  587|       |#    elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040)
  |  |  588|       |#      define ACC_OS_POSIX_DARWIN     __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  |  |  589|       |#      define ACC_INFO_OS_POSIX       "darwin"
  |  |  590|       |#    else
  |  |  591|       |#      define ACC_OS_POSIX_DARWIN     1
  |  |  592|       |#      define ACC_INFO_OS_POSIX       "darwin"
  |  |  593|       |#    endif
  |  |  594|       |#    define ACC_OS_POSIX_MACOSX     ACC_OS_POSIX_DARWIN
  |  |  595|       |#  elif defined(__minix__) || defined(__minix)
  |  |  596|       |#    define ACC_OS_POSIX_MINIX      1
  |  |  597|       |#    define ACC_INFO_OS_POSIX       "minix"
  |  |  598|       |#  elif defined(__NetBSD__)
  |  |  599|       |#    define ACC_OS_POSIX_NETBSD     1
  |  |  600|       |#    define ACC_INFO_OS_POSIX       "netbsd"
  |  |  601|       |#  elif defined(__OpenBSD__)
  |  |  602|       |#    define ACC_OS_POSIX_OPENBSD    1
  |  |  603|       |#    define ACC_INFO_OS_POSIX       "openbsd"
  |  |  604|       |#  elif defined(__osf__)
  |  |  605|       |#    define ACC_OS_POSIX_OSF        1
  |  |  606|       |#    define ACC_INFO_OS_POSIX       "osf"
  |  |  607|       |#  elif defined(__solaris__) || defined(__sun)
  |  |  608|       |#    if defined(__SVR4) || defined(__svr4__)
  |  |  609|       |#      define ACC_OS_POSIX_SOLARIS  1
  |  |  610|       |#      define ACC_INFO_OS_POSIX     "solaris"
  |  |  611|       |#    else
  |  |  612|       |#      define ACC_OS_POSIX_SUNOS    1
  |  |  613|       |#      define ACC_INFO_OS_POSIX     "sunos"
  |  |  614|       |#    endif
  |  |  615|       |#  elif defined(__ultrix__) || defined(__ultrix)
  |  |  616|       |#    define ACC_OS_POSIX_ULTRIX     1
  |  |  617|       |#    define ACC_INFO_OS_POSIX       "ultrix"
  |  |  618|       |#  elif defined(_UNICOS)
  |  |  619|       |#    define ACC_OS_POSIX_UNICOS     1
  |  |  620|       |#    define ACC_INFO_OS_POSIX       "unicos"
  |  |  621|       |#  else
  |  |  622|       |#    define ACC_OS_POSIX_UNKNOWN    1
  |  |  623|       |#    define ACC_INFO_OS_POSIX       "unknown"
  |  |  624|       |#  endif
  |  |  625|       |#endif
  |  |  626|       |#endif
  |  |  627|       |#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  |  628|       |#  if (UINT_MAX != ACC_0xffffL)
  |  |  629|       |#    error "unexpected configuration - check your compiler defines"
  |  |  630|       |#  endif
  |  |  631|       |#  if (ULONG_MAX != ACC_0xffffffffL)
  |  |  632|       |#    error "unexpected configuration - check your compiler defines"
  |  |  633|       |#  endif
  |  |  634|       |#endif
  |  |  635|       |#if (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  |  636|       |#  if (UINT_MAX != ACC_0xffffffffL)
  |  |  637|       |#    error "unexpected configuration - check your compiler defines"
  |  |  638|       |#  endif
  |  |  639|       |#  if (ULONG_MAX != ACC_0xffffffffL)
  |  |  640|       |#    error "unexpected configuration - check your compiler defines"
  |  |  641|       |#  endif
  |  |  642|       |#endif
  |  |  643|       |#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
  |  |  644|       |#  define ACC_CC_CILLY          1
  |  |  645|       |#  define ACC_INFO_CC           "Cilly"
  |  |  646|       |#  if defined(__CILLY__)
  |  |  647|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__CILLY__)
  |  |  648|       |#  else
  |  |  649|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  650|       |#  endif
  |  |  651|       |#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
  |  |  652|       |#  define ACC_CC_SDCC           1
  |  |  653|       |#  define ACC_INFO_CC           "sdcc"
  |  |  654|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(SDCC)
  |  |  655|       |#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
  |  |  656|       |#  define ACC_CC_PATHSCALE      (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0))
  |  |  657|       |#  define ACC_INFO_CC           "Pathscale C"
  |  |  658|       |#  define ACC_INFO_CCVER        __PATHSCALE__
  |  |  659|       |#  if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  660|       |#    define ACC_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  661|       |#  endif
  |  |  662|       |#elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0)
  |  |  663|       |#  define ACC_CC_INTELC         __INTEL_COMPILER
  |  |  664|       |#  define ACC_INFO_CC           "Intel C"
  |  |  665|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__INTEL_COMPILER)
  |  |  666|       |#  if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
  |  |  667|       |#    define ACC_CC_INTELC_MSC   _MSC_VER
  |  |  668|       |#  elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  669|       |#    define ACC_CC_INTELC_GNUC   (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  670|       |#  endif
  |  |  671|       |#elif defined(__POCC__) && defined(_WIN32)
  |  |  672|       |#  define ACC_CC_PELLESC        1
  |  |  673|       |#  define ACC_INFO_CC           "Pelles C"
  |  |  674|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__POCC__)
  |  |  675|       |#elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  676|       |#  if defined(__GNUC_PATCHLEVEL__)
  |  |  677|       |#    define ACC_CC_ARMCC_GNUC   (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  678|       |#  else
  |  |  679|       |#    define ACC_CC_ARMCC_GNUC   (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
  |  |  680|       |#  endif
  |  |  681|       |#  define ACC_CC_ARMCC          __ARMCC_VERSION
  |  |  682|       |#  define ACC_INFO_CC           "ARM C Compiler"
  |  |  683|       |#  define ACC_INFO_CCVER        __VERSION__
  |  |  684|       |#elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER)
  |  |  685|       |#  define ACC_CC_CLANG          (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
  |  |  686|       |#  define ACC_CC_CLANG_C2       _MSC_VER
  |  |  687|       |#  define ACC_CC_CLANG_VENDOR_MICROSOFT 1
  |  |  688|       |#  define ACC_INFO_CC           "clang/c2"
  |  |  689|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__c2_version__)
  |  |  690|       |#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__)
  |  |  691|       |#  if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
  |  |  692|       |#    define ACC_CC_CLANG        (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
  |  |  693|       |#  else
  |  |  694|       |#    define ACC_CC_CLANG        0x010000L
  |  |  695|       |#  endif
  |  |  696|       |#  if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
  |  |  697|       |#    define ACC_CC_CLANG_MSC    _MSC_VER
  |  |  698|       |#  elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  699|       |#    define ACC_CC_CLANG_GNUC   (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  700|       |#  endif
  |  |  701|       |#  if defined(__APPLE_CC__)
  |  |  702|       |#    define ACC_CC_CLANG_VENDOR_APPLE 1
  |  |  703|       |#    define ACC_INFO_CC         "clang/apple"
  |  |  704|       |#  else
  |  |  705|       |#    define ACC_CC_CLANG_VENDOR_LLVM 1
  |  |  706|       |#    define ACC_INFO_CC         "clang"
  |  |  707|       |#  endif
  |  |  708|       |#  if defined(__clang_version__)
  |  |  709|       |#    define ACC_INFO_CCVER      __clang_version__
  |  |  710|       |#  else
  |  |  711|       |#    define ACC_INFO_CCVER      __VERSION__
  |  |  712|       |#  endif
  |  |  713|       |#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  714|       |#  if defined(__GNUC_PATCHLEVEL__)
  |  |  715|       |#    define ACC_CC_LLVM_GNUC    (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  716|       |#  else
  |  |  717|       |#    define ACC_CC_LLVM_GNUC    (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
  |  |  718|       |#  endif
  |  |  719|       |#  define ACC_CC_LLVM           ACC_CC_LLVM_GNUC
  |  |  720|       |#  define ACC_INFO_CC           "llvm-gcc"
  |  |  721|       |#  define ACC_INFO_CCVER        __VERSION__
  |  |  722|       |#elif defined(__ACK__) && defined(_ACK)
  |  |  723|       |#  define ACC_CC_ACK            1
  |  |  724|       |#  define ACC_INFO_CC           "Amsterdam Compiler Kit C"
  |  |  725|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  726|       |#elif defined(__ARMCC_VERSION) && !defined(__GNUC__)
  |  |  727|       |#  define ACC_CC_ARMCC          __ARMCC_VERSION
  |  |  728|       |#  define ACC_CC_ARMCC_ARMCC    __ARMCC_VERSION
  |  |  729|       |#  define ACC_INFO_CC           "ARM C Compiler"
  |  |  730|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__ARMCC_VERSION)
  |  |  731|       |#elif defined(__AZTEC_C__)
  |  |  732|       |#  define ACC_CC_AZTECC         1
  |  |  733|       |#  define ACC_INFO_CC           "Aztec C"
  |  |  734|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__AZTEC_C__)
  |  |  735|       |#elif defined(__CODEGEARC__)
  |  |  736|       |#  define ACC_CC_CODEGEARC      1
  |  |  737|       |#  define ACC_INFO_CC           "CodeGear C"
  |  |  738|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__CODEGEARC__)
  |  |  739|       |#elif defined(__BORLANDC__)
  |  |  740|       |#  define ACC_CC_BORLANDC       1
  |  |  741|       |#  define ACC_INFO_CC           "Borland C"
  |  |  742|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__BORLANDC__)
  |  |  743|       |#elif defined(_CRAYC) && defined(_RELEASE)
  |  |  744|       |#  define ACC_CC_CRAYC          1
  |  |  745|       |#  define ACC_INFO_CC           "Cray C"
  |  |  746|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(_RELEASE)
  |  |  747|       |#elif defined(__DMC__) && defined(__SC__)
  |  |  748|       |#  define ACC_CC_DMC            1
  |  |  749|       |#  define ACC_INFO_CC           "Digital Mars C"
  |  |  750|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__DMC__)
  |  |  751|       |#elif defined(__DECC)
  |  |  752|       |#  define ACC_CC_DECC           1
  |  |  753|       |#  define ACC_INFO_CC           "DEC C"
  |  |  754|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__DECC)
  |  |  755|       |#elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0)
  |  |  756|       |#  define ACC_CC_GHS            1
  |  |  757|       |#  define ACC_INFO_CC           "Green Hills C"
  |  |  758|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER)
  |  |  759|       |#  if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
  |  |  760|       |#    define ACC_CC_GHS_MSC      _MSC_VER
  |  |  761|       |#  elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  762|       |#    define ACC_CC_GHS_GNUC     (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  763|       |#  endif
  |  |  764|       |#elif defined(__HIGHC__)
  |  |  765|       |#  define ACC_CC_HIGHC          1
  |  |  766|       |#  define ACC_INFO_CC           "MetaWare High C"
  |  |  767|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  768|       |#elif defined(__HP_aCC) && ((__HP_aCC-0) > 0)
  |  |  769|       |#  define ACC_CC_HPACC          __HP_aCC
  |  |  770|       |#  define ACC_INFO_CC           "HP aCC"
  |  |  771|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__HP_aCC)
  |  |  772|       |#elif defined(__IAR_SYSTEMS_ICC__)
  |  |  773|       |#  define ACC_CC_IARC           1
  |  |  774|       |#  define ACC_INFO_CC           "IAR C"
  |  |  775|       |#  if defined(__VER__)
  |  |  776|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__VER__)
  |  |  777|       |#  else
  |  |  778|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  779|       |#  endif
  |  |  780|       |#elif defined(__IBMC__) && ((__IBMC__-0) > 0)
  |  |  781|       |#  define ACC_CC_IBMC           __IBMC__
  |  |  782|       |#  define ACC_INFO_CC           "IBM C"
  |  |  783|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__IBMC__)
  |  |  784|       |#elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0)
  |  |  785|       |#  define ACC_CC_IBMC           __IBMCPP__
  |  |  786|       |#  define ACC_INFO_CC           "IBM C"
  |  |  787|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__IBMCPP__)
  |  |  788|       |#elif defined(__KEIL__) && defined(__C166__)
  |  |  789|       |#  define ACC_CC_KEILC          1
  |  |  790|       |#  define ACC_INFO_CC           "Keil C"
  |  |  791|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__C166__)
  |  |  792|       |#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
  |  |  793|       |#  define ACC_CC_LCCWIN32       1
  |  |  794|       |#  define ACC_INFO_CC           "lcc-win32"
  |  |  795|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  796|       |#elif defined(__LCC__)
  |  |  797|       |#  define ACC_CC_LCC            1
  |  |  798|       |#  define ACC_INFO_CC           "lcc"
  |  |  799|       |#  if defined(__LCC_VERSION__)
  |  |  800|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__LCC_VERSION__)
  |  |  801|       |#  else
  |  |  802|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  803|       |#  endif
  |  |  804|       |#elif defined(__MWERKS__) && ((__MWERKS__-0) > 0)
  |  |  805|       |#  define ACC_CC_MWERKS         __MWERKS__
  |  |  806|       |#  define ACC_INFO_CC           "Metrowerks C"
  |  |  807|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__MWERKS__)
  |  |  808|       |#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
  |  |  809|       |#  define ACC_CC_NDPC           1
  |  |  810|       |#  define ACC_INFO_CC           "Microway NDP C"
  |  |  811|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  812|       |#elif defined(__PACIFIC__)
  |  |  813|       |#  define ACC_CC_PACIFICC       1
  |  |  814|       |#  define ACC_INFO_CC           "Pacific C"
  |  |  815|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__PACIFIC__)
  |  |  816|       |#elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__)
  |  |  817|       |#  if defined(__PGIC_PATCHLEVEL__)
  |  |  818|       |#    define ACC_CC_PGI          (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0))
  |  |  819|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__PGIC__) "." ACC_PP_MACRO_EXPAND(__PGIC_MINOR__) "." ACC_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__)
  |  |  820|       |#  else
  |  |  821|       |#    define ACC_CC_PGI          (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100)
  |  |  822|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__PGIC__) "." ACC_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0"
  |  |  823|       |#  endif
  |  |  824|       |#  define ACC_INFO_CC           "Portland Group PGI C"
  |  |  825|       |#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
  |  |  826|       |#  define ACC_CC_PGI            1
  |  |  827|       |#  define ACC_INFO_CC           "Portland Group PGI C"
  |  |  828|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  829|       |#elif defined(__PUREC__) && defined(__TOS__)
  |  |  830|       |#  define ACC_CC_PUREC          1
  |  |  831|       |#  define ACC_INFO_CC           "Pure C"
  |  |  832|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__PUREC__)
  |  |  833|       |#elif defined(__SC__) && defined(__ZTC__)
  |  |  834|       |#  define ACC_CC_SYMANTECC      1
  |  |  835|       |#  define ACC_INFO_CC           "Symantec C"
  |  |  836|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__SC__)
  |  |  837|       |#elif defined(__SUNPRO_C)
  |  |  838|       |#  define ACC_INFO_CC           "SunPro C"
  |  |  839|       |#  if ((__SUNPRO_C-0) > 0)
  |  |  840|       |#    define ACC_CC_SUNPROC      __SUNPRO_C
  |  |  841|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__SUNPRO_C)
  |  |  842|       |#  else
  |  |  843|       |#    define ACC_CC_SUNPROC      1
  |  |  844|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  845|       |#  endif
  |  |  846|       |#elif defined(__SUNPRO_CC)
  |  |  847|       |#  define ACC_INFO_CC           "SunPro C"
  |  |  848|       |#  if ((__SUNPRO_CC-0) > 0)
  |  |  849|       |#    define ACC_CC_SUNPROC      __SUNPRO_CC
  |  |  850|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__SUNPRO_CC)
  |  |  851|       |#  else
  |  |  852|       |#    define ACC_CC_SUNPROC      1
  |  |  853|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  854|       |#  endif
  |  |  855|       |#elif defined(__TINYC__)
  |  |  856|       |#  define ACC_CC_TINYC          1
  |  |  857|       |#  define ACC_INFO_CC           "Tiny C"
  |  |  858|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__TINYC__)
  |  |  859|       |#elif defined(__TSC__)
  |  |  860|       |#  define ACC_CC_TOPSPEEDC      1
  |  |  861|       |#  define ACC_INFO_CC           "TopSpeed C"
  |  |  862|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__TSC__)
  |  |  863|       |#elif defined(__WATCOMC__)
  |  |  864|       |#  define ACC_CC_WATCOMC        1
  |  |  865|       |#  define ACC_INFO_CC           "Watcom C"
  |  |  866|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__WATCOMC__)
  |  |  867|       |#elif defined(__TURBOC__)
  |  |  868|       |#  define ACC_CC_TURBOC         1
  |  |  869|       |#  define ACC_INFO_CC           "Turbo C"
  |  |  870|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__TURBOC__)
  |  |  871|       |#elif defined(__ZTC__)
  |  |  872|       |#  define ACC_CC_ZORTECHC       1
  |  |  873|       |#  define ACC_INFO_CC           "Zortech C"
  |  |  874|       |#  if ((__ZTC__-0) == 0x310)
  |  |  875|       |#    define ACC_INFO_CCVER      "0x310"
  |  |  876|       |#  else
  |  |  877|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__ZTC__)
  |  |  878|       |#  endif
  |  |  879|       |#elif defined(__GNUC__) && defined(__VERSION__)
  |  |  880|       |#  if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
  |  |  881|       |#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  882|       |#  elif defined(__GNUC_MINOR__)
  |  |  883|       |#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
  |  |  884|       |#  else
  |  |  885|       |#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L)
  |  |  886|       |#  endif
  |  |  887|       |#  define ACC_INFO_CC           "gcc"
  |  |  888|       |#  define ACC_INFO_CCVER        __VERSION__
  |  |  889|       |#elif defined(_MSC_VER) && ((_MSC_VER-0) > 0)
  |  |  890|       |#  define ACC_CC_MSC            _MSC_VER
  |  |  891|       |#  define ACC_INFO_CC           "Microsoft C"
  |  |  892|       |#  if defined(_MSC_FULL_VER)
  |  |  893|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(_MSC_VER) "." ACC_PP_MACRO_EXPAND(_MSC_FULL_VER)
  |  |  894|       |#  else
  |  |  895|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(_MSC_VER)
  |  |  896|       |#  endif
  |  |  897|       |#else
  |  |  898|       |#  define ACC_CC_UNKNOWN        1
  |  |  899|       |#  define ACC_INFO_CC           "unknown"
  |  |  900|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  901|       |#endif
  |  |  902|       |#if (ACC_CC_GNUC) && defined(__OPEN64__)
  |  |  903|       |#  if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__)
  |  |  904|       |#    define ACC_CC_OPEN64       (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0))
  |  |  905|       |#    define ACC_CC_OPEN64_GNUC  ACC_CC_GNUC
  |  |  906|       |#  endif
  |  |  907|       |#endif
  |  |  908|       |#if (ACC_CC_GNUC) && defined(__PCC__)
  |  |  909|       |#  if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__)
  |  |  910|       |#    define ACC_CC_PCC          (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0))
  |  |  911|       |#    define ACC_CC_PCC_GNUC     ACC_CC_GNUC
  |  |  912|       |#  endif
  |  |  913|       |#endif
  |  |  914|       |#if 0 && (ACC_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
  |  |  915|       |#  error "ACC_CC_MSC: _MSC_FULL_VER is not defined"
  |  |  916|       |#endif
  |  |  917|       |#if !defined(__ACC_ARCH_OVERRIDE) && !(ACC_ARCH_GENERIC) && defined(_CRAY)
  |  |  918|       |#  if (UINT_MAX > ACC_0xffffffffL) && defined(_CRAY)
  |  |  919|       |#    if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
  |  |  920|       |#      define ACC_ARCH_CRAY_MPP     1
  |  |  921|       |#    elif defined(_CRAY1)
  |  |  922|       |#      define ACC_ARCH_CRAY_PVP     1
  |  |  923|       |#    endif
  |  |  924|       |#  endif
  |  |  925|       |#endif
  |  |  926|       |#if !defined(__ACC_ARCH_OVERRIDE)
  |  |  927|       |#if (ACC_ARCH_GENERIC)
  |  |  928|       |#  define ACC_INFO_ARCH             "generic"
  |  |  929|       |#elif (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  |  930|       |#  define ACC_ARCH_I086             1
  |  |  931|       |#  define ACC_INFO_ARCH             "i086"
  |  |  932|       |#elif defined(__aarch64__) || defined(_M_ARM64)
  |  |  933|       |#  define ACC_ARCH_ARM64            1
  |  |  934|       |#  define ACC_INFO_ARCH             "arm64"
  |  |  935|       |#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
  |  |  936|       |#  define ACC_ARCH_ALPHA            1
  |  |  937|       |#  define ACC_INFO_ARCH             "alpha"
  |  |  938|       |#elif (ACC_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
  |  |  939|       |#  define ACC_ARCH_ALPHA            1
  |  |  940|       |#  define ACC_INFO_ARCH             "alpha"
  |  |  941|       |#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
  |  |  942|       |#  define ACC_ARCH_AMD64            1
  |  |  943|       |#  define ACC_INFO_ARCH             "amd64"
  |  |  944|       |#elif defined(__arm__) || defined(_M_ARM)
  |  |  945|       |#  define ACC_ARCH_ARM              1
  |  |  946|       |#  define ACC_INFO_ARCH             "arm"
  |  |  947|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
  |  |  948|       |#  define ACC_ARCH_ARM              1
  |  |  949|       |#  define ACC_INFO_ARCH             "arm"
  |  |  950|       |#elif (UINT_MAX <= ACC_0xffffL) && defined(__AVR__)
  |  |  951|       |#  define ACC_ARCH_AVR              1
  |  |  952|       |#  define ACC_INFO_ARCH             "avr"
  |  |  953|       |#elif defined(__avr32__) || defined(__AVR32__)
  |  |  954|       |#  define ACC_ARCH_AVR32            1
  |  |  955|       |#  define ACC_INFO_ARCH             "avr32"
  |  |  956|       |#elif defined(__bfin__)
  |  |  957|       |#  define ACC_ARCH_BLACKFIN         1
  |  |  958|       |#  define ACC_INFO_ARCH             "blackfin"
  |  |  959|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__C166__)
  |  |  960|       |#  define ACC_ARCH_C166             1
  |  |  961|       |#  define ACC_INFO_ARCH             "c166"
  |  |  962|       |#elif defined(__cris__)
  |  |  963|       |#  define ACC_ARCH_CRIS             1
  |  |  964|       |#  define ACC_INFO_ARCH             "cris"
  |  |  965|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
  |  |  966|       |#  define ACC_ARCH_EZ80             1
  |  |  967|       |#  define ACC_INFO_ARCH             "ez80"
  |  |  968|       |#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
  |  |  969|       |#  define ACC_ARCH_H8300            1
  |  |  970|       |#  define ACC_INFO_ARCH             "h8300"
  |  |  971|       |#elif defined(__hppa__) || defined(__hppa)
  |  |  972|       |#  define ACC_ARCH_HPPA             1
  |  |  973|       |#  define ACC_INFO_ARCH             "hppa"
  |  |  974|       |#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386)
  |  |  975|       |#  define ACC_ARCH_I386             1
  |  |  976|       |#  define ACC_ARCH_IA32             1
  |  |  977|       |#  define ACC_INFO_ARCH             "i386"
  |  |  978|       |#elif (ACC_CC_ZORTECHC && defined(__I86__))
  |  |  979|       |#  define ACC_ARCH_I386             1
  |  |  980|       |#  define ACC_ARCH_IA32             1
  |  |  981|       |#  define ACC_INFO_ARCH             "i386"
  |  |  982|       |#elif (ACC_OS_DOS32 && ACC_CC_HIGHC) && defined(_I386)
  |  |  983|       |#  define ACC_ARCH_I386             1
  |  |  984|       |#  define ACC_ARCH_IA32             1
  |  |  985|       |#  define ACC_INFO_ARCH             "i386"
  |  |  986|       |#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
  |  |  987|       |#  define ACC_ARCH_IA64             1
  |  |  988|       |#  define ACC_INFO_ARCH             "ia64"
  |  |  989|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__m32c__)
  |  |  990|       |#  define ACC_ARCH_M16C             1
  |  |  991|       |#  define ACC_INFO_ARCH             "m16c"
  |  |  992|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__)
  |  |  993|       |#  define ACC_ARCH_M16C             1
  |  |  994|       |#  define ACC_INFO_ARCH             "m16c"
  |  |  995|       |#elif defined(__m32r__)
  |  |  996|       |#  define ACC_ARCH_M32R             1
  |  |  997|       |#  define ACC_INFO_ARCH             "m32r"
  |  |  998|       |#elif (ACC_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K)
  |  |  999|       |#  define ACC_ARCH_M68K             1
  |  | 1000|       |#  define ACC_INFO_ARCH             "m68k"
  |  | 1001|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__C251__)
  |  | 1002|       |#  define ACC_ARCH_MCS251           1
  |  | 1003|       |#  define ACC_INFO_ARCH             "mcs251"
  |  | 1004|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__C51__)
  |  | 1005|       |#  define ACC_ARCH_MCS51            1
  |  | 1006|       |#  define ACC_INFO_ARCH             "mcs51"
  |  | 1007|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__)
  |  | 1008|       |#  define ACC_ARCH_MCS51            1
  |  | 1009|       |#  define ACC_INFO_ARCH             "mcs51"
  |  | 1010|       |#elif defined(__microblaze__) || defined(__MICROBLAZE__)
  |  | 1011|       |#  define ACC_ARCH_MICROBLAZE       1
  |  | 1012|       |#  define ACC_INFO_ARCH             "microblaze"
  |  | 1013|       |#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
  |  | 1014|       |#  define ACC_ARCH_MIPS             1
  |  | 1015|       |#  define ACC_INFO_ARCH             "mips"
  |  | 1016|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__MSP430__)
  |  | 1017|       |#  define ACC_ARCH_MSP430           1
  |  | 1018|       |#  define ACC_INFO_ARCH             "msp430"
  |  | 1019|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
  |  | 1020|       |#  define ACC_ARCH_MSP430           1
  |  | 1021|       |#  define ACC_INFO_ARCH             "msp430"
  |  | 1022|       |#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
  |  | 1023|       |#  define ACC_ARCH_POWERPC          1
  |  | 1024|       |#  define ACC_INFO_ARCH             "powerpc"
  |  | 1025|       |#elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__)
  |  | 1026|       |#  define ACC_ARCH_POWERPC          1
  |  | 1027|       |#  define ACC_INFO_ARCH             "powerpc"
  |  | 1028|       |#elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__)
  |  | 1029|       |#  define ACC_ARCH_POWERPC          1
  |  | 1030|       |#  define ACC_INFO_ARCH             "powerpc"
  |  | 1031|       |#elif defined(__riscv)
  |  | 1032|       |#  define ACC_ARCH_RISCV            1
  |  | 1033|       |#  define ACC_INFO_ARCH             "riscv"
  |  | 1034|       |#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
  |  | 1035|       |#  define ACC_ARCH_S390             1
  |  | 1036|       |#  define ACC_INFO_ARCH             "s390"
  |  | 1037|       |#elif defined(__sh__) || defined(_M_SH)
  |  | 1038|       |#  define ACC_ARCH_SH               1
  |  | 1039|       |#  define ACC_INFO_ARCH             "sh"
  |  | 1040|       |#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
  |  | 1041|       |#  define ACC_ARCH_SPARC            1
  |  | 1042|       |#  define ACC_INFO_ARCH             "sparc"
  |  | 1043|       |#elif defined(__SPU__)
  |  | 1044|       |#  define ACC_ARCH_SPU              1
  |  | 1045|       |#  define ACC_INFO_ARCH             "spu"
  |  | 1046|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__z80)
  |  | 1047|       |#  define ACC_ARCH_Z80              1
  |  | 1048|       |#  define ACC_INFO_ARCH             "z80"
  |  | 1049|       |#elif (ACC_ARCH_CRAY_PVP)
  |  | 1050|       |#  if defined(_CRAYSV1)
  |  | 1051|       |#    define ACC_ARCH_CRAY_SV1       1
  |  | 1052|       |#    define ACC_INFO_ARCH           "cray_sv1"
  |  | 1053|       |#  elif (_ADDR64)
  |  | 1054|       |#    define ACC_ARCH_CRAY_T90       1
  |  | 1055|       |#    define ACC_INFO_ARCH           "cray_t90"
  |  | 1056|       |#  elif (_ADDR32)
  |  | 1057|       |#    define ACC_ARCH_CRAY_YMP       1
  |  | 1058|       |#    define ACC_INFO_ARCH           "cray_ymp"
  |  | 1059|       |#  else
  |  | 1060|       |#    define ACC_ARCH_CRAY_XMP       1
  |  | 1061|       |#    define ACC_INFO_ARCH           "cray_xmp"
  |  | 1062|       |#  endif
  |  | 1063|       |#else
  |  | 1064|       |#  define ACC_ARCH_UNKNOWN          1
  |  | 1065|       |#  define ACC_INFO_ARCH             "unknown"
  |  | 1066|       |#endif
  |  | 1067|       |#endif
  |  | 1068|       |#if !defined(ACC_ARCH_ARM_THUMB2)
  |  | 1069|       |#if (ACC_ARCH_ARM)
  |  | 1070|       |#  if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB)
  |  | 1071|       |#    if defined(__thumb2__)
  |  | 1072|       |#      define ACC_ARCH_ARM_THUMB2   1
  |  | 1073|       |#    elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
  |  | 1074|       |#      define ACC_ARCH_ARM_THUMB2   1
  |  | 1075|       |#    elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7)
  |  | 1076|       |#      define ACC_ARCH_ARM_THUMB2   1
  |  | 1077|       |#    endif
  |  | 1078|       |#  endif
  |  | 1079|       |#endif
  |  | 1080|       |#endif
  |  | 1081|       |#if (ACC_ARCH_ARM_THUMB2)
  |  | 1082|       |#  undef  ACC_INFO_ARCH
  |  | 1083|       |#  define ACC_INFO_ARCH             "arm_thumb2"
  |  | 1084|       |#endif
  |  | 1085|       |#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_DOS32 || ACC_OS_OS2)
  |  | 1086|       |#  error "FIXME - missing define for CPU architecture"
  |  | 1087|       |#endif
  |  | 1088|       |#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_WIN32)
  |  | 1089|       |#  error "FIXME - missing ACC_OS_WIN32 define for CPU architecture"
  |  | 1090|       |#endif
  |  | 1091|       |#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_WIN64)
  |  | 1092|       |#  error "FIXME - missing ACC_OS_WIN64 define for CPU architecture"
  |  | 1093|       |#endif
  |  | 1094|       |#if (ACC_OS_OS216 || ACC_OS_WIN16)
  |  | 1095|       |#  define ACC_ARCH_I086PM           1
  |  | 1096|       |#elif 1 && (ACC_OS_DOS16 && defined(BLX286))
  |  | 1097|       |#  define ACC_ARCH_I086PM           1
  |  | 1098|       |#elif 1 && (ACC_OS_DOS16 && defined(DOSX286))
  |  | 1099|       |#  define ACC_ARCH_I086PM           1
  |  | 1100|       |#elif 1 && (ACC_OS_DOS16 && ACC_CC_BORLANDC && defined(__DPMI16__))
  |  | 1101|       |#  define ACC_ARCH_I086PM           1
  |  | 1102|       |#endif
  |  | 1103|       |#if (ACC_ARCH_AMD64 && !ACC_ARCH_X64)
  |  | 1104|       |#  define ACC_ARCH_X64              1
  |  | 1105|       |#elif (!ACC_ARCH_AMD64 && ACC_ARCH_X64) && defined(__ACC_ARCH_OVERRIDE)
  |  | 1106|       |#  define ACC_ARCH_AMD64            1
  |  | 1107|       |#endif
  |  | 1108|       |#if (ACC_ARCH_ARM64 && !ACC_ARCH_AARCH64)
  |  | 1109|       |#  define ACC_ARCH_AARCH64          1
  |  | 1110|       |#elif (!ACC_ARCH_ARM64 && ACC_ARCH_AARCH64) && defined(__ACC_ARCH_OVERRIDE)
  |  | 1111|       |#  define ACC_ARCH_ARM64            1
  |  | 1112|       |#endif
  |  | 1113|       |#if (ACC_ARCH_I386 && !ACC_ARCH_X86)
  |  | 1114|       |#  define ACC_ARCH_X86              1
  |  | 1115|       |#elif (!ACC_ARCH_I386 && ACC_ARCH_X86) && defined(__ACC_ARCH_OVERRIDE)
  |  | 1116|       |#  define ACC_ARCH_I386            1
  |  | 1117|       |#endif
  |  | 1118|       |#if (ACC_ARCH_AMD64 && !ACC_ARCH_X64) || (!ACC_ARCH_AMD64 && ACC_ARCH_X64)
  |  | 1119|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1120|       |#endif
  |  | 1121|       |#if (ACC_ARCH_ARM64 && !ACC_ARCH_AARCH64) || (!ACC_ARCH_ARM64 && ACC_ARCH_AARCH64)
  |  | 1122|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1123|       |#endif
  |  | 1124|       |#if (ACC_ARCH_I386 && !ACC_ARCH_X86) || (!ACC_ARCH_I386 && ACC_ARCH_X86)
  |  | 1125|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1126|       |#endif
  |  | 1127|       |#if (ACC_ARCH_ARM_THUMB1 && !ACC_ARCH_ARM)
  |  | 1128|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1129|       |#endif
  |  | 1130|       |#if (ACC_ARCH_ARM_THUMB2 && !ACC_ARCH_ARM)
  |  | 1131|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1132|       |#endif
  |  | 1133|       |#if (ACC_ARCH_ARM_THUMB1 && ACC_ARCH_ARM_THUMB2)
  |  | 1134|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1135|       |#endif
  |  | 1136|       |#if (ACC_ARCH_I086PM && !ACC_ARCH_I086)
  |  | 1137|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1138|       |#endif
  |  | 1139|       |#if (ACC_ARCH_I086)
  |  | 1140|       |#  if (UINT_MAX != ACC_0xffffL)
  |  | 1141|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1142|       |#  endif
  |  | 1143|       |#  if (ULONG_MAX != ACC_0xffffffffL)
  |  | 1144|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1145|       |#  endif
  |  | 1146|       |#endif
  |  | 1147|       |#if (ACC_ARCH_I386)
  |  | 1148|       |#  if (UINT_MAX != ACC_0xffffL) && defined(__i386_int16__)
  |  | 1149|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1150|       |#  endif
  |  | 1151|       |#  if (UINT_MAX != ACC_0xffffffffL) && !defined(__i386_int16__)
  |  | 1152|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1153|       |#  endif
  |  | 1154|       |#  if (ULONG_MAX != ACC_0xffffffffL)
  |  | 1155|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1156|       |#  endif
  |  | 1157|       |#endif
  |  | 1158|       |#if (ACC_ARCH_AMD64 || ACC_ARCH_I386)
  |  | 1159|       |#  if !defined(ACC_TARGET_FEATURE_SSE2)
  |  | 1160|       |#    if defined(__SSE2__)
  |  | 1161|       |#      define ACC_TARGET_FEATURE_SSE2       1
  |  | 1162|       |#    elif defined(_MSC_VER) && (defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2))
  |  | 1163|       |#      define ACC_TARGET_FEATURE_SSE2       1
  |  | 1164|       |#    elif (ACC_CC_INTELC_MSC || ACC_CC_MSC) && defined(_M_AMD64)
  |  | 1165|       |#      define ACC_TARGET_FEATURE_SSE2       1
  |  | 1166|       |#    endif
  |  | 1167|       |#  endif
  |  | 1168|       |#  if !defined(ACC_TARGET_FEATURE_SSSE3)
  |  | 1169|       |#  if (ACC_TARGET_FEATURE_SSE2)
  |  | 1170|       |#    if defined(__SSSE3__)
  |  | 1171|       |#      define ACC_TARGET_FEATURE_SSSE3      1
  |  | 1172|       |#    elif defined(_MSC_VER) && defined(__AVX__)
  |  | 1173|       |#      define ACC_TARGET_FEATURE_SSSE3      1
  |  | 1174|       |#    endif
  |  | 1175|       |#  endif
  |  | 1176|       |#  endif
  |  | 1177|       |#  if !defined(ACC_TARGET_FEATURE_SSE4_2)
  |  | 1178|       |#  if (ACC_TARGET_FEATURE_SSSE3)
  |  | 1179|       |#    if defined(__SSE4_2__)
  |  | 1180|       |#      define ACC_TARGET_FEATURE_SSE4_2     1
  |  | 1181|       |#    endif
  |  | 1182|       |#  endif
  |  | 1183|       |#  endif
  |  | 1184|       |#  if !defined(ACC_TARGET_FEATURE_AVX)
  |  | 1185|       |#  if (ACC_TARGET_FEATURE_SSSE3)
  |  | 1186|       |#    if defined(__AVX__)
  |  | 1187|       |#      define ACC_TARGET_FEATURE_AVX        1
  |  | 1188|       |#    endif
  |  | 1189|       |#  endif
  |  | 1190|       |#  endif
  |  | 1191|       |#  if !defined(ACC_TARGET_FEATURE_AVX2)
  |  | 1192|       |#  if (ACC_TARGET_FEATURE_AVX)
  |  | 1193|       |#    if defined(__AVX2__)
  |  | 1194|       |#      define ACC_TARGET_FEATURE_AVX2       1
  |  | 1195|       |#    endif
  |  | 1196|       |#  endif
  |  | 1197|       |#  endif
  |  | 1198|       |#endif
  |  | 1199|       |#if (ACC_TARGET_FEATURE_SSSE3 && !(ACC_TARGET_FEATURE_SSE2))
  |  | 1200|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1201|       |#endif
  |  | 1202|       |#if (ACC_TARGET_FEATURE_SSE4_2 && !(ACC_TARGET_FEATURE_SSSE3))
  |  | 1203|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1204|       |#endif
  |  | 1205|       |#if (ACC_TARGET_FEATURE_AVX && !(ACC_TARGET_FEATURE_SSSE3))
  |  | 1206|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1207|       |#endif
  |  | 1208|       |#if (ACC_TARGET_FEATURE_AVX2 && !(ACC_TARGET_FEATURE_AVX))
  |  | 1209|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1210|       |#endif
  |  | 1211|       |#if (ACC_ARCH_ARM)
  |  | 1212|       |#  if !defined(ACC_TARGET_FEATURE_NEON)
  |  | 1213|       |#    if defined(__ARM_NEON) && ((__ARM_NEON)+0)
  |  | 1214|       |#      define ACC_TARGET_FEATURE_NEON       1
  |  | 1215|       |#    elif 1 && defined(__ARM_NEON__) && ((__ARM_NEON__)+0)
  |  | 1216|       |#      define ACC_TARGET_FEATURE_NEON       1
  |  | 1217|       |#    elif 1 && defined(__TARGET_FEATURE_NEON) && ((__TARGET_FEATURE_NEON)+0)
  |  | 1218|       |#      define ACC_TARGET_FEATURE_NEON       1
  |  | 1219|       |#    endif
  |  | 1220|       |#  endif
  |  | 1221|       |#elif (ACC_ARCH_ARM64)
  |  | 1222|       |#  if !defined(ACC_TARGET_FEATURE_NEON)
  |  | 1223|       |#    if 1
  |  | 1224|       |#      define ACC_TARGET_FEATURE_NEON       1
  |  | 1225|       |#    endif
  |  | 1226|       |#  endif
  |  | 1227|       |#endif
  |  | 1228|       |#if 0
  |  | 1229|       |#elif !defined(__ACC_MM_OVERRIDE)
  |  | 1230|       |#if (ACC_ARCH_I086)
  |  | 1231|       |#if (UINT_MAX != ACC_0xffffL)
  |  | 1232|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1233|       |#endif
  |  | 1234|       |#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
  |  | 1235|       |#  define ACC_MM_TINY           1
  |  | 1236|       |#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM)
  |  | 1237|       |#  define ACC_MM_HUGE           1
  |  | 1238|       |#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL)
  |  | 1239|       |#  define ACC_MM_SMALL          1
  |  | 1240|       |#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
  |  | 1241|       |#  define ACC_MM_MEDIUM         1
  |  | 1242|       |#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
  |  | 1243|       |#  define ACC_MM_COMPACT        1
  |  | 1244|       |#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL)
  |  | 1245|       |#  define ACC_MM_LARGE          1
  |  | 1246|       |#elif (ACC_CC_AZTECC)
  |  | 1247|       |#  if defined(_LARGE_CODE) && defined(_LARGE_DATA)
  |  | 1248|       |#    define ACC_MM_LARGE        1
  |  | 1249|       |#  elif defined(_LARGE_CODE)
  |  | 1250|       |#    define ACC_MM_MEDIUM       1
  |  | 1251|       |#  elif defined(_LARGE_DATA)
  |  | 1252|       |#    define ACC_MM_COMPACT      1
  |  | 1253|       |#  else
  |  | 1254|       |#    define ACC_MM_SMALL        1
  |  | 1255|       |#  endif
  |  | 1256|       |#elif (ACC_CC_ZORTECHC && defined(__VCM__))
  |  | 1257|       |#  define ACC_MM_LARGE          1
  |  | 1258|       |#else
  |  | 1259|       |#  error "unknown ACC_ARCH_I086 memory model"
  |  | 1260|       |#endif
  |  | 1261|       |#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  | 1262|       |#define ACC_HAVE_MM_HUGE_PTR        1
  |  | 1263|       |#define ACC_HAVE_MM_HUGE_ARRAY      1
  |  | 1264|       |#if (ACC_MM_TINY)
  |  | 1265|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1266|       |#endif
  |  | 1267|       |#if (ACC_CC_AZTECC || ACC_CC_PACIFICC || ACC_CC_ZORTECHC)
  |  | 1268|       |#  undef ACC_HAVE_MM_HUGE_PTR
  |  | 1269|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1270|       |#elif (ACC_CC_DMC || ACC_CC_SYMANTECC)
  |  | 1271|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1272|       |#elif (ACC_CC_MSC && defined(_QC))
  |  | 1273|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1274|       |#  if (_MSC_VER < 600)
  |  | 1275|       |#    undef ACC_HAVE_MM_HUGE_PTR
  |  | 1276|       |#  endif
  |  | 1277|       |#elif (ACC_CC_TURBOC && (__TURBOC__ < 0x0295))
  |  | 1278|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1279|       |#endif
  |  | 1280|       |#if (ACC_ARCH_I086PM) && !(ACC_HAVE_MM_HUGE_PTR)
  |  | 1281|       |#  if (ACC_OS_DOS16)
  |  | 1282|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1283|       |#  elif (ACC_CC_ZORTECHC)
  |  | 1284|       |#  else
  |  | 1285|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1286|       |#  endif
  |  | 1287|       |#endif
  |  | 1288|       |#if defined(__cplusplus)
  |  | 1289|       |extern "C" {
  |  | 1290|       |#endif
  |  | 1291|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
  |  | 1292|       |   extern void __near __cdecl _AHSHIFT(void);
  |  | 1293|       |#  define ACC_MM_AHSHIFT      ((unsigned) _AHSHIFT)
  |  | 1294|       |#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 1295|       |   extern void __near __cdecl _AHSHIFT(void);
  |  | 1296|       |#  define ACC_MM_AHSHIFT      ((unsigned) _AHSHIFT)
  |  | 1297|       |#elif (ACC_CC_MSC || ACC_CC_TOPSPEEDC)
  |  | 1298|       |   extern void __near __cdecl _AHSHIFT(void);
  |  | 1299|       |#  define ACC_MM_AHSHIFT      ((unsigned) _AHSHIFT)
  |  | 1300|       |#elif (ACC_CC_TURBOC && (__TURBOC__ >= 0x0295))
  |  | 1301|       |   extern void __near __cdecl _AHSHIFT(void);
  |  | 1302|       |#  define ACC_MM_AHSHIFT      ((unsigned) _AHSHIFT)
  |  | 1303|       |#elif ((ACC_CC_AZTECC || ACC_CC_PACIFICC || ACC_CC_TURBOC) && ACC_OS_DOS16)
  |  | 1304|       |#  define ACC_MM_AHSHIFT      12
  |  | 1305|       |#elif (ACC_CC_WATCOMC)
  |  | 1306|       |   extern unsigned char _HShift;
  |  | 1307|       |#  define ACC_MM_AHSHIFT      ((unsigned) _HShift)
  |  | 1308|       |#else
  |  | 1309|       |#  error "FIXME - implement ACC_MM_AHSHIFT"
  |  | 1310|       |#endif
  |  | 1311|       |#if defined(__cplusplus)
  |  | 1312|       |}
  |  | 1313|       |#endif
  |  | 1314|       |#endif
  |  | 1315|       |#elif (ACC_ARCH_C166)
  |  | 1316|       |#if !defined(__MODEL__)
  |  | 1317|       |#  error "FIXME - ACC_ARCH_C166 __MODEL__"
  |  | 1318|       |#elif ((__MODEL__) == 0)
  |  | 1319|       |#  define ACC_MM_SMALL          1
  |  | 1320|       |#elif ((__MODEL__) == 1)
  |  | 1321|       |#  define ACC_MM_SMALL          1
  |  | 1322|       |#elif ((__MODEL__) == 2)
  |  | 1323|       |#  define ACC_MM_LARGE          1
  |  | 1324|       |#elif ((__MODEL__) == 3)
  |  | 1325|       |#  define ACC_MM_TINY           1
  |  | 1326|       |#elif ((__MODEL__) == 4)
  |  | 1327|       |#  define ACC_MM_XTINY          1
  |  | 1328|       |#elif ((__MODEL__) == 5)
  |  | 1329|       |#  define ACC_MM_XSMALL         1
  |  | 1330|       |#else
  |  | 1331|       |#  error "FIXME - ACC_ARCH_C166 __MODEL__"
  |  | 1332|       |#endif
  |  | 1333|       |#elif (ACC_ARCH_MCS251)
  |  | 1334|       |#if !defined(__MODEL__)
  |  | 1335|       |#  error "FIXME - ACC_ARCH_MCS251 __MODEL__"
  |  | 1336|       |#elif ((__MODEL__) == 0)
  |  | 1337|       |#  define ACC_MM_SMALL          1
  |  | 1338|       |#elif ((__MODEL__) == 2)
  |  | 1339|       |#  define ACC_MM_LARGE          1
  |  | 1340|       |#elif ((__MODEL__) == 3)
  |  | 1341|       |#  define ACC_MM_TINY           1
  |  | 1342|       |#elif ((__MODEL__) == 4)
  |  | 1343|       |#  define ACC_MM_XTINY          1
  |  | 1344|       |#elif ((__MODEL__) == 5)
  |  | 1345|       |#  define ACC_MM_XSMALL         1
  |  | 1346|       |#else
  |  | 1347|       |#  error "FIXME - ACC_ARCH_MCS251 __MODEL__"
  |  | 1348|       |#endif
  |  | 1349|       |#elif (ACC_ARCH_MCS51)
  |  | 1350|       |#if !defined(__MODEL__)
  |  | 1351|       |#  error "FIXME - ACC_ARCH_MCS51 __MODEL__"
  |  | 1352|       |#elif ((__MODEL__) == 1)
  |  | 1353|       |#  define ACC_MM_SMALL          1
  |  | 1354|       |#elif ((__MODEL__) == 2)
  |  | 1355|       |#  define ACC_MM_LARGE          1
  |  | 1356|       |#elif ((__MODEL__) == 3)
  |  | 1357|       |#  define ACC_MM_TINY           1
  |  | 1358|       |#elif ((__MODEL__) == 4)
  |  | 1359|       |#  define ACC_MM_XTINY          1
  |  | 1360|       |#elif ((__MODEL__) == 5)
  |  | 1361|       |#  define ACC_MM_XSMALL         1
  |  | 1362|       |#else
  |  | 1363|       |#  error "FIXME - ACC_ARCH_MCS51 __MODEL__"
  |  | 1364|       |#endif
  |  | 1365|       |#elif (ACC_ARCH_CRAY_PVP)
  |  | 1366|       |#  define ACC_MM_PVP            1
  |  | 1367|       |#else
  |  | 1368|       |#  define ACC_MM_FLAT           1
  |  | 1369|       |#endif
  |  | 1370|       |#if (ACC_MM_COMPACT)
  |  | 1371|       |#  define ACC_INFO_MM           "compact"
  |  | 1372|       |#elif (ACC_MM_FLAT)
  |  | 1373|       |#  define ACC_INFO_MM           "flat"
  |  | 1374|       |#elif (ACC_MM_HUGE)
  |  | 1375|       |#  define ACC_INFO_MM           "huge"
  |  | 1376|       |#elif (ACC_MM_LARGE)
  |  | 1377|       |#  define ACC_INFO_MM           "large"
  |  | 1378|       |#elif (ACC_MM_MEDIUM)
  |  | 1379|       |#  define ACC_INFO_MM           "medium"
  |  | 1380|       |#elif (ACC_MM_PVP)
  |  | 1381|       |#  define ACC_INFO_MM           "pvp"
  |  | 1382|       |#elif (ACC_MM_SMALL)
  |  | 1383|       |#  define ACC_INFO_MM           "small"
  |  | 1384|       |#elif (ACC_MM_TINY)
  |  | 1385|       |#  define ACC_INFO_MM           "tiny"
  |  | 1386|       |#else
  |  | 1387|       |#  error "unknown memory model"
  |  | 1388|       |#endif
  |  | 1389|       |#endif
  |  | 1390|       |#if !defined(__acc_gnuc_extension__)
  |  | 1391|       |#if (ACC_CC_GNUC >= 0x020800ul)
  |  | 1392|       |#  define __acc_gnuc_extension__    __extension__
  |  | 1393|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1394|       |#  define __acc_gnuc_extension__    __extension__
  |  | 1395|       |#elif (ACC_CC_IBMC >= 600)
  |  | 1396|       |#  define __acc_gnuc_extension__    __extension__
  |  | 1397|       |#endif
  |  | 1398|       |#endif
  |  | 1399|       |#if !defined(__acc_gnuc_extension__)
  |  | 1400|       |#  define __acc_gnuc_extension__    /*empty*/
  |  | 1401|       |#endif
  |  | 1402|       |#if !defined(acc_has_builtin)
  |  | 1403|       |#if (ACC_CC_CLANG) && defined(__has_builtin)
  |  | 1404|       |#  define acc_has_builtin           __has_builtin
  |  | 1405|       |#endif
  |  | 1406|       |#endif
  |  | 1407|       |#if !defined(acc_has_builtin)
  |  | 1408|       |#  define acc_has_builtin(x)        0
  |  | 1409|       |#endif
  |  | 1410|       |#if !defined(acc_has_attribute)
  |  | 1411|       |#if (ACC_CC_CLANG) && defined(__has_attribute)
  |  | 1412|       |#  define acc_has_attribute         __has_attribute
  |  | 1413|       |#endif
  |  | 1414|       |#endif
  |  | 1415|       |#if !defined(acc_has_attribute)
  |  | 1416|       |#  define acc_has_attribute(x)      0
  |  | 1417|       |#endif
  |  | 1418|       |#if !defined(acc_has_declspec_attribute)
  |  | 1419|       |#if (ACC_CC_CLANG) && defined(__has_declspec_attribute)
  |  | 1420|       |#  define acc_has_declspec_attribute        __has_declspec_attribute
  |  | 1421|       |#endif
  |  | 1422|       |#endif
  |  | 1423|       |#if !defined(acc_has_declspec_attribute)
  |  | 1424|       |#  define acc_has_declspec_attribute(x)     0
  |  | 1425|       |#endif
  |  | 1426|       |#if !defined(acc_has_feature)
  |  | 1427|       |#if (ACC_CC_CLANG) && defined(__has_feature)
  |  | 1428|       |#  define acc_has_feature         __has_feature
  |  | 1429|       |#endif
  |  | 1430|       |#endif
  |  | 1431|       |#if !defined(acc_has_feature)
  |  | 1432|       |#  define acc_has_feature(x)        0
  |  | 1433|       |#endif
  |  | 1434|       |#if !defined(acc_has_extension)
  |  | 1435|       |#if (ACC_CC_CLANG) && defined(__has_extension)
  |  | 1436|       |#  define acc_has_extension         __has_extension
  |  | 1437|       |#elif (ACC_CC_CLANG) && defined(__has_feature)
  |  | 1438|       |#  define acc_has_extension         __has_feature
  |  | 1439|       |#endif
  |  | 1440|       |#endif
  |  | 1441|       |#if !defined(acc_has_extension)
  |  | 1442|       |#  define acc_has_extension(x)      0
  |  | 1443|       |#endif
  |  | 1444|       |#if !defined(ACC_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0
  |  | 1445|       |#  if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul))
  |  | 1446|       |#    define ACC_CFG_USE_NEW_STYLE_CASTS 0
  |  | 1447|       |#  elif (ACC_CC_INTELC && (__INTEL_COMPILER < 1200))
  |  | 1448|       |#    define ACC_CFG_USE_NEW_STYLE_CASTS 0
  |  | 1449|       |#  else
  |  | 1450|       |#    define ACC_CFG_USE_NEW_STYLE_CASTS 1
  |  | 1451|       |#  endif
  |  | 1452|       |#endif
  |  | 1453|       |#if !defined(ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1454|       |#  define ACC_CFG_USE_NEW_STYLE_CASTS 0
  |  | 1455|       |#endif
  |  | 1456|       |#if !defined(__cplusplus)
  |  | 1457|       |#  if defined(ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1458|       |#    undef ACC_CFG_USE_NEW_STYLE_CASTS
  |  | 1459|       |#  endif
  |  | 1460|       |#  define ACC_CFG_USE_NEW_STYLE_CASTS 0
  |  | 1461|       |#endif
  |  | 1462|       |#if !defined(ACC_REINTERPRET_CAST)
  |  | 1463|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1464|       |#    define ACC_REINTERPRET_CAST(t,e)       (reinterpret_cast<t> (e))
  |  | 1465|       |#  endif
  |  | 1466|       |#endif
  |  | 1467|       |#if !defined(ACC_REINTERPRET_CAST)
  |  | 1468|       |#  define ACC_REINTERPRET_CAST(t,e)         ((t) (e))
  |  | 1469|       |#endif
  |  | 1470|       |#if !defined(ACC_STATIC_CAST)
  |  | 1471|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1472|       |#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  | 1473|       |#  endif
  |  | 1474|       |#endif
  |  | 1475|       |#if !defined(ACC_STATIC_CAST)
  |  | 1476|       |#  define ACC_STATIC_CAST(t,e)              ((t) (e))
  |  | 1477|       |#endif
  |  | 1478|       |#if !defined(ACC_STATIC_CAST2)
  |  | 1479|       |#  define ACC_STATIC_CAST2(t1,t2,e)         ACC_STATIC_CAST(t1, ACC_STATIC_CAST(t2, e))
  |  | 1480|       |#endif
  |  | 1481|       |#if !defined(ACC_UNCONST_CAST)
  |  | 1482|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1483|       |#    define ACC_UNCONST_CAST(t,e)           (const_cast<t> (e))
  |  | 1484|       |#  elif (ACC_HAVE_MM_HUGE_PTR)
  |  | 1485|       |#    define ACC_UNCONST_CAST(t,e)           ((t) (e))
  |  | 1486|       |#  elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1487|       |#    define ACC_UNCONST_CAST(t,e)           ((t) ((void *) ((acc_uintptr_t) ((const void *) (e)))))
  |  | 1488|       |#  endif
  |  | 1489|       |#endif
  |  | 1490|       |#if !defined(ACC_UNCONST_CAST)
  |  | 1491|       |#  define ACC_UNCONST_CAST(t,e)             ((t) ((void *) ((const void *) (e))))
  |  | 1492|       |#endif
  |  | 1493|       |#if !defined(ACC_UNCONST_VOLATILE_CAST)
  |  | 1494|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1495|       |#    define ACC_UNCONST_VOLATILE_CAST(t,e)  (const_cast<t> (e))
  |  | 1496|       |#  elif (ACC_HAVE_MM_HUGE_PTR)
  |  | 1497|       |#    define ACC_UNCONST_VOLATILE_CAST(t,e)  ((t) (e))
  |  | 1498|       |#  elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1499|       |#    define ACC_UNCONST_VOLATILE_CAST(t,e)  ((t) ((volatile void *) ((acc_uintptr_t) ((volatile const void *) (e)))))
  |  | 1500|       |#  endif
  |  | 1501|       |#endif
  |  | 1502|       |#if !defined(ACC_UNCONST_VOLATILE_CAST)
  |  | 1503|       |#  define ACC_UNCONST_VOLATILE_CAST(t,e)    ((t) ((volatile void *) ((volatile const void *) (e))))
  |  | 1504|       |#endif
  |  | 1505|       |#if !defined(ACC_UNVOLATILE_CAST)
  |  | 1506|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1507|       |#    define ACC_UNVOLATILE_CAST(t,e)        (const_cast<t> (e))
  |  | 1508|       |#  elif (ACC_HAVE_MM_HUGE_PTR)
  |  | 1509|       |#    define ACC_UNVOLATILE_CAST(t,e)        ((t) (e))
  |  | 1510|       |#  elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1511|       |#    define ACC_UNVOLATILE_CAST(t,e)        ((t) ((void *) ((acc_uintptr_t) ((volatile void *) (e)))))
  |  | 1512|       |#  endif
  |  | 1513|       |#endif
  |  | 1514|       |#if !defined(ACC_UNVOLATILE_CAST)
  |  | 1515|       |#  define ACC_UNVOLATILE_CAST(t,e)          ((t) ((void *) ((volatile void *) (e))))
  |  | 1516|       |#endif
  |  | 1517|       |#if !defined(ACC_UNVOLATILE_CONST_CAST)
  |  | 1518|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1519|       |#    define ACC_UNVOLATILE_CONST_CAST(t,e)  (const_cast<t> (e))
  |  | 1520|       |#  elif (ACC_HAVE_MM_HUGE_PTR)
  |  | 1521|       |#    define ACC_UNVOLATILE_CONST_CAST(t,e)  ((t) (e))
  |  | 1522|       |#  elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1523|       |#    define ACC_UNVOLATILE_CONST_CAST(t,e)  ((t) ((const void *) ((acc_uintptr_t) ((volatile const void *) (e)))))
  |  | 1524|       |#  endif
  |  | 1525|       |#endif
  |  | 1526|       |#if !defined(ACC_UNVOLATILE_CONST_CAST)
  |  | 1527|       |#  define ACC_UNVOLATILE_CONST_CAST(t,e)    ((t) ((const void *) ((volatile const void *) (e))))
  |  | 1528|       |#endif
  |  | 1529|       |#if !defined(ACC_PCAST)
  |  | 1530|       |#  if (ACC_HAVE_MM_HUGE_PTR)
  |  | 1531|       |#    define ACC_PCAST(t,e)                  ((t) (e))
  |  | 1532|       |#  endif
  |  | 1533|       |#endif
  |  | 1534|       |#if !defined(ACC_PCAST)
  |  | 1535|       |#  define ACC_PCAST(t,e)                    ACC_STATIC_CAST(t, ACC_STATIC_CAST(void *, e))
  |  | 1536|       |#endif
  |  | 1537|       |#if !defined(ACC_CCAST)
  |  | 1538|       |#  if (ACC_HAVE_MM_HUGE_PTR)
  |  | 1539|       |#    define ACC_CCAST(t,e)                  ((t) (e))
  |  | 1540|       |#  endif
  |  | 1541|       |#endif
  |  | 1542|       |#if !defined(ACC_CCAST)
  |  | 1543|       |#  define ACC_CCAST(t,e)                    ACC_STATIC_CAST(t, ACC_STATIC_CAST(const void *, e))
  |  | 1544|       |#endif
  |  | 1545|       |#if !defined(ACC_ICONV)
  |  | 1546|       |#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  | 1547|       |#endif
  |  | 1548|       |#if !defined(ACC_ICAST)
  |  | 1549|       |#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  | 1550|       |#endif
  |  | 1551|       |#if !defined(ACC_ITRUNC)
  |  | 1552|       |#  define ACC_ITRUNC(t,e)                   ACC_STATIC_CAST(t, e)
  |  | 1553|       |#endif
  |  | 1554|       |#if !defined(__acc_cte)
  |  | 1555|       |#  if (ACC_CC_MSC || ACC_CC_WATCOMC)
  |  | 1556|       |#    define __acc_cte(e)            ((void)0,(e))
  |  | 1557|       |#  elif 1
  |  | 1558|       |#    define __acc_cte(e)            ((void)0,(e))
  |  | 1559|       |#  endif
  |  | 1560|       |#endif
  |  | 1561|       |#if !defined(__acc_cte)
  |  | 1562|       |#  define __acc_cte(e)              (e)
  |  | 1563|       |#endif
  |  | 1564|       |#if !defined(ACC_BLOCK_BEGIN)
  |  | 1565|       |#  define ACC_BLOCK_BEGIN           do {
  |  | 1566|       |#  define ACC_BLOCK_END             } while (__acc_cte(0))
  |  | 1567|       |#endif
  |  | 1568|       |#if !defined(ACC_UNUSED)
  |  | 1569|       |#  if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
  |  | 1570|       |#    define ACC_UNUSED(var)         ((void) &var)
  |  | 1571|       |#  elif (ACC_CC_BORLANDC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PELLESC || ACC_CC_TURBOC)
  |  | 1572|       |#    define ACC_UNUSED(var)         if (&var) ; else
  |  | 1573|       |#  elif (ACC_CC_CLANG && (ACC_CC_CLANG >= 0x030200ul))
  |  | 1574|       |#    define ACC_UNUSED(var)         ((void) &var)
  |  | 1575|       |#  elif (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1576|       |#    define ACC_UNUSED(var)         ((void) var)
  |  | 1577|       |#  elif (ACC_CC_MSC && (_MSC_VER < 900))
  |  | 1578|       |#    define ACC_UNUSED(var)         if (&var) ; else
  |  | 1579|       |#  elif (ACC_CC_KEILC)
  |  | 1580|       |#    define ACC_UNUSED(var)         {extern int acc_unused__[1-2*!(sizeof(var)>0)]; (void)acc_unused__;}
  |  | 1581|       |#  elif (ACC_CC_PACIFICC)
  |  | 1582|       |#    define ACC_UNUSED(var)         ((void) sizeof(var))
  |  | 1583|       |#  elif (ACC_CC_WATCOMC) && defined(__cplusplus)
  |  | 1584|       |#    define ACC_UNUSED(var)         ((void) var)
  |  | 1585|       |#  else
  |  | 1586|       |#    define ACC_UNUSED(var)         ((void) &var)
  |  | 1587|       |#  endif
  |  | 1588|       |#endif
  |  | 1589|       |#if !defined(ACC_UNUSED_RESULT)
  |  | 1590|       |#  define ACC_UNUSED_RESULT(var)    ACC_UNUSED(var)
  |  | 1591|       |#endif
  |  | 1592|       |#if !defined(ACC_UNUSED_FUNC)
  |  | 1593|       |#  if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
  |  | 1594|       |#    define ACC_UNUSED_FUNC(func)   ((void) func)
  |  | 1595|       |#  elif (ACC_CC_BORLANDC || ACC_CC_NDPC || ACC_CC_TURBOC)
  |  | 1596|       |#    define ACC_UNUSED_FUNC(func)   if (func) ; else
  |  | 1597|       |#  elif (ACC_CC_CLANG || ACC_CC_LLVM)
  |  | 1598|       |#    define ACC_UNUSED_FUNC(func)   ((void) &func)
  |  | 1599|       |#  elif (ACC_CC_MSC && (_MSC_VER < 900))
  |  | 1600|       |#    define ACC_UNUSED_FUNC(func)   if (func) ; else
  |  | 1601|       |#  elif (ACC_CC_MSC)
  |  | 1602|       |#    define ACC_UNUSED_FUNC(func)   ((void) &func)
  |  | 1603|       |#  elif (ACC_CC_KEILC || ACC_CC_PELLESC)
  |  | 1604|       |#    define ACC_UNUSED_FUNC(func)   {extern int acc_unused__[1-2*!(sizeof((int)func)>0)]; (void)acc_unused__;}
  |  | 1605|       |#  else
  |  | 1606|       |#    define ACC_UNUSED_FUNC(func)   ((void) func)
  |  | 1607|       |#  endif
  |  | 1608|       |#endif
  |  | 1609|       |#if !defined(ACC_UNUSED_LABEL)
  |  | 1610|       |#  if (ACC_CC_CLANG >= 0x020800ul)
  |  | 1611|       |#    define ACC_UNUSED_LABEL(l)     (__acc_gnuc_extension__ ((void) ACC_STATIC_CAST(const void *, &&l)))
  |  | 1612|       |#  elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_INTELC || ACC_CC_WATCOMC)
  |  | 1613|       |#    define ACC_UNUSED_LABEL(l)     if (__acc_cte(0)) goto l
  |  | 1614|       |#  else
  |  | 1615|       |#    define ACC_UNUSED_LABEL(l)     switch (0) case 1:goto l
  |  | 1616|       |#  endif
  |  | 1617|       |#endif
  |  | 1618|       |#if !defined(ACC_DEFINE_UNINITIALIZED_VAR)
  |  | 1619|       |#  if 0
  |  | 1620|       |#    define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var
  |  | 1621|       |#  elif 0 && (ACC_CC_GNUC)
  |  | 1622|       |#    define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var = var
  |  | 1623|       |#  else
  |  | 1624|       |#    define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var = init
  |  | 1625|       |#  endif
  |  | 1626|       |#endif
  |  | 1627|       |#if !defined(__acc_inline)
  |  | 1628|       |#if (ACC_CC_TURBOC && (__TURBOC__ <= 0x0295))
  |  | 1629|       |#elif defined(__cplusplus)
  |  | 1630|       |#  define __acc_inline          inline
  |  | 1631|       |#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
  |  | 1632|       |#  define __acc_inline          inline
  |  | 1633|       |#elif (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
  |  | 1634|       |#  define __acc_inline          __inline
  |  | 1635|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CILLY || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
  |  | 1636|       |#  define __acc_inline          __inline__
  |  | 1637|       |#elif (ACC_CC_DMC)
  |  | 1638|       |#  define __acc_inline          __inline
  |  | 1639|       |#elif (ACC_CC_GHS)
  |  | 1640|       |#  define __acc_inline          __inline__
  |  | 1641|       |#elif (ACC_CC_IBMC >= 600)
  |  | 1642|       |#  define __acc_inline          __inline__
  |  | 1643|       |#elif (ACC_CC_INTELC)
  |  | 1644|       |#  define __acc_inline          __inline
  |  | 1645|       |#elif (ACC_CC_MWERKS && (__MWERKS__ >= 0x2405))
  |  | 1646|       |#  define __acc_inline          __inline
  |  | 1647|       |#elif (ACC_CC_MSC && (_MSC_VER >= 900))
  |  | 1648|       |#  define __acc_inline          __inline
  |  | 1649|       |#elif (ACC_CC_SUNPROC >= 0x5100)
  |  | 1650|       |#  define __acc_inline          __inline__
  |  | 1651|       |#endif
  |  | 1652|       |#endif
  |  | 1653|       |#if defined(__acc_inline)
  |  | 1654|       |#  ifndef __acc_HAVE_inline
  |  | 1655|       |#  define __acc_HAVE_inline 1
  |  | 1656|       |#  endif
  |  | 1657|       |#else
  |  | 1658|       |#  define __acc_inline          /*empty*/
  |  | 1659|       |#endif
  |  | 1660|       |#if !defined(__acc_forceinline)
  |  | 1661|       |#if (ACC_CC_GNUC >= 0x030200ul)
  |  | 1662|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1663|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1664|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1665|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
  |  | 1666|       |#  define __acc_forceinline     __forceinline
  |  | 1667|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
  |  | 1668|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1669|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1670|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1671|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
  |  | 1672|       |#  define __acc_forceinline     __forceinline
  |  | 1673|       |#elif (ACC_CC_PGI >= 0x0d0a00ul)
  |  | 1674|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1675|       |#elif (ACC_CC_SUNPROC >= 0x5100)
  |  | 1676|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1677|       |#endif
  |  | 1678|       |#endif
  |  | 1679|       |#if defined(__acc_forceinline)
  |  | 1680|       |#  ifndef __acc_HAVE_forceinline
  |  | 1681|       |#  define __acc_HAVE_forceinline 1
  |  | 1682|       |#  endif
  |  | 1683|       |#else
  |  | 1684|       |#  define __acc_forceinline     __acc_inline
  |  | 1685|       |#endif
  |  | 1686|       |#if !defined(__acc_noinline)
  |  | 1687|       |#if (ACC_CC_GNUC >= 0x080000ul)
  |  | 1688|       |#  define __acc_noinline        __attribute__((__noinline__,__noipa__))
  |  | 1689|       |#elif (ACC_CC_GNUC >= 0x050000ul)
  |  | 1690|       |#  define __acc_noinline        __attribute__((__noinline__,__noclone__,__no_icf__))
  |  | 1691|       |#elif 1 && (ACC_ARCH_I386) && (ACC_CC_GNUC >= 0x040000ul) && (ACC_CC_GNUC < 0x040003ul)
  |  | 1692|       |#  define __acc_noinline        __attribute__((__noinline__,__used__))
  |  | 1693|       |#elif (ACC_CC_GNUC >= 0x030200ul)
  |  | 1694|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1695|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1696|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1697|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
  |  | 1698|       |#  define __acc_noinline        __declspec(noinline)
  |  | 1699|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
  |  | 1700|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1701|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1702|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1703|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1704|       |#  define __acc_noinline        __declspec(noinline)
  |  | 1705|       |#elif (ACC_CC_MWERKS && (__MWERKS__ >= 0x3200) && (ACC_OS_WIN32 || ACC_OS_WIN64))
  |  | 1706|       |#  if defined(__cplusplus)
  |  | 1707|       |#  else
  |  | 1708|       |#    define __acc_noinline      __declspec(noinline)
  |  | 1709|       |#  endif
  |  | 1710|       |#elif (ACC_CC_PGI >= 0x0d0a00ul)
  |  | 1711|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1712|       |#elif (ACC_CC_SUNPROC >= 0x5100)
  |  | 1713|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1714|       |#endif
  |  | 1715|       |#endif
  |  | 1716|       |#if defined(__acc_noinline)
  |  | 1717|       |#  ifndef __acc_HAVE_noinline
  |  | 1718|       |#  define __acc_HAVE_noinline 1
  |  | 1719|       |#  endif
  |  | 1720|       |#else
  |  | 1721|       |#  define __acc_noinline        /*empty*/
  |  | 1722|       |#endif
  |  | 1723|       |#if (__acc_HAVE_forceinline || __acc_HAVE_noinline) && !(__acc_HAVE_inline)
  |  | 1724|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1725|       |#endif
  |  | 1726|       |#if !defined(__acc_static_inline)
  |  | 1727|       |#if (ACC_CC_IBMC)
  |  | 1728|       |#  define __acc_static_inline       __acc_gnuc_extension__ static __acc_inline
  |  | 1729|       |#endif
  |  | 1730|       |#endif
  |  | 1731|       |#if !defined(__acc_static_inline)
  |  | 1732|       |#  define __acc_static_inline       static __acc_inline
  |  | 1733|       |#endif
  |  | 1734|       |#if !defined(__acc_static_forceinline)
  |  | 1735|       |#if (ACC_CC_IBMC)
  |  | 1736|       |#  define __acc_static_forceinline  __acc_gnuc_extension__ static __acc_forceinline
  |  | 1737|       |#endif
  |  | 1738|       |#endif
  |  | 1739|       |#if !defined(__acc_static_forceinline)
  |  | 1740|       |#  define __acc_static_forceinline  static __acc_forceinline
  |  | 1741|       |#endif
  |  | 1742|       |#if !defined(__acc_static_noinline)
  |  | 1743|       |#if (ACC_CC_IBMC)
  |  | 1744|       |#  define __acc_static_noinline     __acc_gnuc_extension__ static __acc_noinline
  |  | 1745|       |#endif
  |  | 1746|       |#endif
  |  | 1747|       |#if !defined(__acc_static_noinline)
  |  | 1748|       |#  define __acc_static_noinline     static __acc_noinline
  |  | 1749|       |#endif
  |  | 1750|       |#if !defined(__acc_c99_extern_inline)
  |  | 1751|       |#if defined(__GNUC_GNU_INLINE__)
  |  | 1752|       |#  define __acc_c99_extern_inline   __acc_inline
  |  | 1753|       |#elif defined(__GNUC_STDC_INLINE__)
  |  | 1754|       |#  define __acc_c99_extern_inline   extern __acc_inline
  |  | 1755|       |#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
  |  | 1756|       |#  define __acc_c99_extern_inline   extern __acc_inline
  |  | 1757|       |#endif
  |  | 1758|       |#if !defined(__acc_c99_extern_inline) && (__acc_HAVE_inline)
  |  | 1759|       |#  define __acc_c99_extern_inline   __acc_inline
  |  | 1760|       |#endif
  |  | 1761|       |#endif
  |  | 1762|       |#if defined(__acc_c99_extern_inline)
  |  | 1763|       |#  ifndef __acc_HAVE_c99_extern_inline
  |  | 1764|       |#  define __acc_HAVE_c99_extern_inline 1
  |  | 1765|       |#  endif
  |  | 1766|       |#else
  |  | 1767|       |#  define __acc_c99_extern_inline   /*empty*/
  |  | 1768|       |#endif
  |  | 1769|       |#if !defined(__acc_may_alias)
  |  | 1770|       |#if (ACC_CC_GNUC >= 0x030400ul)
  |  | 1771|       |#  define __acc_may_alias       __attribute__((__may_alias__))
  |  | 1772|       |#elif (ACC_CC_CLANG >= 0x020900ul)
  |  | 1773|       |#  define __acc_may_alias       __attribute__((__may_alias__))
  |  | 1774|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0
  |  | 1775|       |#  define __acc_may_alias       __attribute__((__may_alias__))
  |  | 1776|       |#elif (ACC_CC_PGI >= 0x0d0a00ul) && 0
  |  | 1777|       |#  define __acc_may_alias       __attribute__((__may_alias__))
  |  | 1778|       |#endif
  |  | 1779|       |#endif
  |  | 1780|       |#if defined(__acc_may_alias)
  |  | 1781|       |#  ifndef __acc_HAVE_may_alias
  |  | 1782|       |#  define __acc_HAVE_may_alias 1
  |  | 1783|       |#  endif
  |  | 1784|       |#else
  |  | 1785|       |#  define __acc_may_alias       /*empty*/
  |  | 1786|       |#endif
  |  | 1787|       |#if !defined(__acc_noreturn)
  |  | 1788|       |#if (ACC_CC_GNUC >= 0x020700ul)
  |  | 1789|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1790|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1791|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1792|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
  |  | 1793|       |#  define __acc_noreturn        __declspec(noreturn)
  |  | 1794|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
  |  | 1795|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1796|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1797|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1798|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
  |  | 1799|       |#  define __acc_noreturn        __declspec(noreturn)
  |  | 1800|       |#elif (ACC_CC_PGI >= 0x0d0a00ul)
  |  | 1801|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1802|       |#endif
  |  | 1803|       |#endif
  |  | 1804|       |#if defined(__acc_noreturn)
  |  | 1805|       |#  ifndef __acc_HAVE_noreturn
  |  | 1806|       |#  define __acc_HAVE_noreturn 1
  |  | 1807|       |#  endif
  |  | 1808|       |#else
  |  | 1809|       |#  define __acc_noreturn        /*empty*/
  |  | 1810|       |#endif
  |  | 1811|       |#if !defined(__acc_nothrow)
  |  | 1812|       |#if (ACC_CC_GNUC >= 0x030300ul)
  |  | 1813|       |#  define __acc_nothrow         __attribute__((__nothrow__))
  |  | 1814|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus)
  |  | 1815|       |#  define __acc_nothrow         __declspec(nothrow)
  |  | 1816|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900))
  |  | 1817|       |#  define __acc_nothrow         __attribute__((__nothrow__))
  |  | 1818|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1819|       |#  define __acc_nothrow         __attribute__((__nothrow__))
  |  | 1820|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
  |  | 1821|       |#  define __acc_nothrow         __declspec(nothrow)
  |  | 1822|       |#endif
  |  | 1823|       |#endif
  |  | 1824|       |#if defined(__acc_nothrow)
  |  | 1825|       |#  ifndef __acc_HAVE_nothrow
  |  | 1826|       |#  define __acc_HAVE_nothrow 1
  |  | 1827|       |#  endif
  |  | 1828|       |#else
  |  | 1829|       |#  define __acc_nothrow         /*empty*/
  |  | 1830|       |#endif
  |  | 1831|       |#if !defined(__acc_restrict)
  |  | 1832|       |#if (ACC_CC_GNUC >= 0x030400ul)
  |  | 1833|       |#  define __acc_restrict        __restrict__
  |  | 1834|       |#elif (ACC_CC_IBMC >= 800) && !defined(__cplusplus)
  |  | 1835|       |#  define __acc_restrict        __restrict__
  |  | 1836|       |#elif (ACC_CC_IBMC >= 1210)
  |  | 1837|       |#  define __acc_restrict        __restrict__
  |  | 1838|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
  |  | 1839|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
  |  | 1840|       |#  define __acc_restrict        __restrict__
  |  | 1841|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM)
  |  | 1842|       |#  define __acc_restrict        __restrict__
  |  | 1843|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1400))
  |  | 1844|       |#  define __acc_restrict        __restrict
  |  | 1845|       |#elif (ACC_CC_PGI >= 0x0d0a00ul)
  |  | 1846|       |#  define __acc_restrict        __restrict__
  |  | 1847|       |#endif
  |  | 1848|       |#endif
  |  | 1849|       |#if defined(__acc_restrict)
  |  | 1850|       |#  ifndef __acc_HAVE_restrict
  |  | 1851|       |#  define __acc_HAVE_restrict 1
  |  | 1852|       |#  endif
  |  | 1853|       |#else
  |  | 1854|       |#  define __acc_restrict        /*empty*/
  |  | 1855|       |#endif
  |  | 1856|       |#if !defined(__acc_alignof)
  |  | 1857|       |#if (ACC_CC_ARMCC || ACC_CC_CILLY || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
  |  | 1858|       |#  define __acc_alignof(e)      __alignof__(e)
  |  | 1859|       |#elif (ACC_CC_GHS) && !defined(__cplusplus)
  |  | 1860|       |#  define __acc_alignof(e)      __alignof__(e)
  |  | 1861|       |#elif (ACC_CC_IBMC >= 600)
  |  | 1862|       |#  define __acc_alignof(e)      (__acc_gnuc_extension__ __alignof__(e))
  |  | 1863|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 700))
  |  | 1864|       |#  define __acc_alignof(e)      __alignof__(e)
  |  | 1865|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1866|       |#  define __acc_alignof(e)      __alignof(e)
  |  | 1867|       |#elif (ACC_CC_SUNPROC >= 0x5100)
  |  | 1868|       |#  define __acc_alignof(e)      __alignof__(e)
  |  | 1869|       |#endif
  |  | 1870|       |#endif
  |  | 1871|       |#if defined(__acc_alignof)
  |  | 1872|       |#  ifndef __acc_HAVE_alignof
  |  | 1873|       |#  define __acc_HAVE_alignof 1
  |  | 1874|       |#  endif
  |  | 1875|       |#endif
  |  | 1876|       |#if !defined(__acc_struct_packed)
  |  | 1877|       |#if   (ACC_CC_CLANG && (ACC_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
  |  | 1878|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
  |  | 1879|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
  |  | 1880|       |#elif (ACC_CC_PCC && (ACC_CC_PCC < 0x010100ul))
  |  | 1881|       |#elif (ACC_CC_SUNPROC && (ACC_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
  |  | 1882|       |#elif (ACC_CC_GNUC >= 0x030400ul) && !(ACC_CC_PCC_GNUC) && (ACC_ARCH_AMD64 || ACC_ARCH_I386)
  |  | 1883|       |#  define __acc_struct_packed(s)        struct s {
  |  | 1884|       |#  define __acc_struct_packed_end()     } __attribute__((__gcc_struct__,__packed__));
  |  | 1885|       |#  define __acc_struct_packed_ma_end()  } __acc_may_alias __attribute__((__gcc_struct__,__packed__));
  |  | 1886|       |#elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || (ACC_CC_PGI >= 0x0d0a00ul) || (ACC_CC_SUNPROC >= 0x5100))
  |  | 1887|       |#  define __acc_struct_packed(s)        struct s {
  |  | 1888|       |#  define __acc_struct_packed_end()     } __attribute__((__packed__));
  |  | 1889|       |#  define __acc_struct_packed_ma_end()  } __acc_may_alias __attribute__((__packed__));
  |  | 1890|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1891|       |#  define __acc_struct_packed(s)        __acc_gnuc_extension__ struct s {
  |  | 1892|       |#  define __acc_struct_packed_end()     } __attribute__((__packed__));
  |  | 1893|       |#  define __acc_struct_packed_ma_end()  } __acc_may_alias __attribute__((__packed__));
  |  | 1894|       |#elif (ACC_CC_INTELC_MSC) || (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1895|       |#  define __acc_struct_packed(s)        __pragma(pack(push,1)) struct s {
  |  | 1896|       |#  define __acc_struct_packed_end()     } __pragma(pack(pop));
  |  | 1897|       |#elif (ACC_CC_WATCOMC && (__WATCOMC__ >= 900))
  |  | 1898|       |#  define __acc_struct_packed(s)        _Packed struct s {
  |  | 1899|       |#  define __acc_struct_packed_end()     };
  |  | 1900|       |#endif
  |  | 1901|       |#endif
  |  | 1902|       |#if defined(__acc_struct_packed) && !defined(__acc_struct_packed_ma)
  |  | 1903|       |#  define __acc_struct_packed_ma(s)     __acc_struct_packed(s)
  |  | 1904|       |#endif
  |  | 1905|       |#if defined(__acc_struct_packed_end) && !defined(__acc_struct_packed_ma_end)
  |  | 1906|       |#  define __acc_struct_packed_ma_end()  __acc_struct_packed_end()
  |  | 1907|       |#endif
  |  | 1908|       |#if !defined(__acc_byte_struct)
  |  | 1909|       |#if defined(__acc_struct_packed)
  |  | 1910|       |#  define __acc_byte_struct(s,n)        __acc_struct_packed(s) unsigned char a[n]; __acc_struct_packed_end()
  |  | 1911|       |#  define __acc_byte_struct_ma(s,n)     __acc_struct_packed_ma(s) unsigned char a[n]; __acc_struct_packed_ma_end()
  |  | 1912|       |#elif (ACC_CC_CILLY || ACC_CC_CLANG || ACC_CC_PGI || (ACC_CC_SUNPROC >= 0x5100))
  |  | 1913|       |#  define __acc_byte_struct(s,n)        struct s { unsigned char a[n]; } __attribute__((__packed__));
  |  | 1914|       |#  define __acc_byte_struct_ma(s,n)     struct s { unsigned char a[n]; } __acc_may_alias __attribute__((__packed__));
  |  | 1915|       |#endif
  |  | 1916|       |#endif
  |  | 1917|       |#if defined(__acc_byte_struct) &&  !defined(__acc_byte_struct_ma)
  |  | 1918|       |#  define __acc_byte_struct_ma(s,n)     __acc_byte_struct(s,n)
  |  | 1919|       |#endif
  |  | 1920|       |#if !defined(__acc_struct_align16) && (__acc_HAVE_alignof)
  |  | 1921|       |#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x030000ul))
  |  | 1922|       |#elif (ACC_CC_CLANG && (ACC_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
  |  | 1923|       |#elif (ACC_CC_CILLY || ACC_CC_PCC)
  |  | 1924|       |#elif (ACC_CC_INTELC_MSC) || (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1925|       |#  define __acc_struct_align16(s)       struct __declspec(align(16)) s {
  |  | 1926|       |#  define __acc_struct_align16_end()    };
  |  | 1927|       |#  define __acc_struct_align32(s)       struct __declspec(align(32)) s {
  |  | 1928|       |#  define __acc_struct_align32_end()    };
  |  | 1929|       |#  define __acc_struct_align64(s)       struct __declspec(align(64)) s {
  |  | 1930|       |#  define __acc_struct_align64_end()    };
  |  | 1931|       |#elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_GNUC || (ACC_CC_IBMC >= 700) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1932|       |#  define __acc_struct_align16(s)       struct s {
  |  | 1933|       |#  define __acc_struct_align16_end()    } __attribute__((__aligned__(16)));
  |  | 1934|       |#  define __acc_struct_align32(s)       struct s {
  |  | 1935|       |#  define __acc_struct_align32_end()    } __attribute__((__aligned__(32)));
  |  | 1936|       |#  define __acc_struct_align64(s)       struct s {
  |  | 1937|       |#  define __acc_struct_align64_end()    } __attribute__((__aligned__(64)));
  |  | 1938|       |#endif
  |  | 1939|       |#endif
  |  | 1940|       |#if !defined(__acc_union_um)
  |  | 1941|       |#if   (ACC_CC_CLANG && (ACC_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
  |  | 1942|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
  |  | 1943|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
  |  | 1944|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER < 810))
  |  | 1945|       |#elif (ACC_CC_PCC && (ACC_CC_PCC < 0x010100ul))
  |  | 1946|       |#elif (ACC_CC_SUNPROC && (ACC_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
  |  | 1947|       |#elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || (ACC_CC_PGI >= 0x0d0a00ul) || (ACC_CC_SUNPROC >= 0x5100))
  |  | 1948|       |#  define __acc_union_am(s)             union s {
  |  | 1949|       |#  define __acc_union_am_end()          } __acc_may_alias;
  |  | 1950|       |#  define __acc_union_um(s)             union s {
  |  | 1951|       |#  define __acc_union_um_end()          } __acc_may_alias __attribute__((__packed__));
  |  | 1952|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1953|       |#  define __acc_union_am(s)             __acc_gnuc_extension__ union s {
  |  | 1954|       |#  define __acc_union_am_end()          } __acc_may_alias;
  |  | 1955|       |#  define __acc_union_um(s)             __acc_gnuc_extension__ union s {
  |  | 1956|       |#  define __acc_union_um_end()          } __acc_may_alias __attribute__((__packed__));
  |  | 1957|       |#elif (ACC_CC_INTELC_MSC) || (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1958|       |#  define __acc_union_um(s)             __pragma(pack(push,1)) union s {
  |  | 1959|       |#  define __acc_union_um_end()          } __pragma(pack(pop));
  |  | 1960|       |#elif (ACC_CC_WATCOMC && (__WATCOMC__ >= 900))
  |  | 1961|       |#  define __acc_union_um(s)             _Packed union s {
  |  | 1962|       |#  define __acc_union_um_end()          };
  |  | 1963|       |#endif
  |  | 1964|       |#endif
  |  | 1965|       |#if !defined(__acc_union_am)
  |  | 1966|       |#  define __acc_union_am(s)             union s {
  |  | 1967|       |#  define __acc_union_am_end()          };
  |  | 1968|       |#endif
  |  | 1969|       |#if !defined(__acc_constructor)
  |  | 1970|       |#if (ACC_CC_GNUC >= 0x030400ul)
  |  | 1971|       |#  define __acc_constructor     __attribute__((__constructor__,__used__))
  |  | 1972|       |#elif (ACC_CC_GNUC >= 0x020700ul)
  |  | 1973|       |#  define __acc_constructor     __attribute__((__constructor__))
  |  | 1974|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
  |  | 1975|       |#  define __acc_constructor     __attribute__((__constructor__,__used__))
  |  | 1976|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1977|       |#  define __acc_constructor     __attribute__((__constructor__))
  |  | 1978|       |#endif
  |  | 1979|       |#endif
  |  | 1980|       |#if defined(__acc_constructor)
  |  | 1981|       |#  ifndef __acc_HAVE_constructor
  |  | 1982|       |#  define __acc_HAVE_constructor 1
  |  | 1983|       |#  endif
  |  | 1984|       |#endif
  |  | 1985|       |#if !defined(__acc_destructor)
  |  | 1986|       |#if (ACC_CC_GNUC >= 0x030400ul)
  |  | 1987|       |#  define __acc_destructor      __attribute__((__destructor__,__used__))
  |  | 1988|       |#elif (ACC_CC_GNUC >= 0x020700ul)
  |  | 1989|       |#  define __acc_destructor      __attribute__((__destructor__))
  |  | 1990|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
  |  | 1991|       |#  define __acc_destructor      __attribute__((__destructor__,__used__))
  |  | 1992|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1993|       |#  define __acc_destructor      __attribute__((__destructor__))
  |  | 1994|       |#endif
  |  | 1995|       |#endif
  |  | 1996|       |#if defined(__acc_destructor)
  |  | 1997|       |#  ifndef __acc_HAVE_destructor
  |  | 1998|       |#  define __acc_HAVE_destructor 1
  |  | 1999|       |#  endif
  |  | 2000|       |#endif
  |  | 2001|       |#if (__acc_HAVE_destructor) && !(__acc_HAVE_constructor)
  |  | 2002|       |#  error "unexpected configuration - check your compiler defines"
  |  | 2003|       |#endif
  |  | 2004|       |#if !defined(__acc_likely) && !defined(__acc_unlikely)
  |  | 2005|       |#if (ACC_CC_GNUC >= 0x030200ul)
  |  | 2006|       |#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  | 2007|       |#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  | 2008|       |#elif (ACC_CC_IBMC >= 1010)
  |  | 2009|       |#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  | 2010|       |#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  | 2011|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 800))
  |  | 2012|       |#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  | 2013|       |#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  | 2014|       |#elif (ACC_CC_CLANG && ACC_CC_CLANG_C2)
  |  | 2015|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 2016|       |#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  | 2017|       |#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  | 2018|       |#endif
  |  | 2019|       |#endif
  |  | 2020|       |#if defined(__acc_likely)
  |  | 2021|       |#  ifndef __acc_HAVE_likely
  |  | 2022|       |#  define __acc_HAVE_likely 1
  |  | 2023|       |#  endif
  |  | 2024|       |#else
  |  | 2025|       |#  define __acc_likely(e)           (e)
  |  | 2026|       |#endif
  |  | 2027|       |#if defined(__acc_very_likely)
  |  | 2028|       |#  ifndef __acc_HAVE_very_likely
  |  | 2029|       |#  define __acc_HAVE_very_likely 1
  |  | 2030|       |#  endif
  |  | 2031|       |#else
  |  | 2032|       |#  define __acc_very_likely(e)      __acc_likely(e)
  |  | 2033|       |#endif
  |  | 2034|       |#if defined(__acc_unlikely)
  |  | 2035|       |#  ifndef __acc_HAVE_unlikely
  |  | 2036|       |#  define __acc_HAVE_unlikely 1
  |  | 2037|       |#  endif
  |  | 2038|       |#else
  |  | 2039|       |#  define __acc_unlikely(e)         (e)
  |  | 2040|       |#endif
  |  | 2041|       |#if defined(__acc_very_unlikely)
  |  | 2042|       |#  ifndef __acc_HAVE_very_unlikely
  |  | 2043|       |#  define __acc_HAVE_very_unlikely 1
  |  | 2044|       |#  endif
  |  | 2045|       |#else
  |  | 2046|       |#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  | 2047|       |#endif
  |  | 2048|       |#if !defined(__acc_loop_forever)
  |  | 2049|       |#  if (ACC_CC_IBMC)
  |  | 2050|       |#    define __acc_loop_forever()    ACC_BLOCK_BEGIN for (;;) { ; } ACC_BLOCK_END
  |  | 2051|       |#  else
  |  | 2052|       |#    define __acc_loop_forever()    do { ; } while (__acc_cte(1))
  |  | 2053|       |#  endif
  |  | 2054|       |#endif
  |  | 2055|       |#if !defined(__acc_unreachable)
  |  | 2056|       |#if (ACC_CC_CLANG && (ACC_CC_CLANG >= 0x020800ul)) && acc_has_builtin(__builtin_unreachable)
  |  | 2057|       |#  define __acc_unreachable()       __builtin_unreachable();
  |  | 2058|       |#elif (ACC_CC_GNUC >= 0x040500ul)
  |  | 2059|       |#  define __acc_unreachable()       __builtin_unreachable();
  |  | 2060|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1
  |  | 2061|       |#  define __acc_unreachable()       __builtin_unreachable();
  |  | 2062|       |#endif
  |  | 2063|       |#endif
  |  | 2064|       |#if defined(__acc_unreachable)
  |  | 2065|       |#  ifndef __acc_HAVE_unreachable
  |  | 2066|       |#  define __acc_HAVE_unreachable 1
  |  | 2067|       |#  endif
  |  | 2068|       |#else
  |  | 2069|       |#  if 0
  |  | 2070|       |#  define __acc_unreachable()       ((void)0);
  |  | 2071|       |#  else
  |  | 2072|       |#  define __acc_unreachable()       __acc_loop_forever();
  |  | 2073|       |#  endif
  |  | 2074|       |#endif
  |  | 2075|       |#if !defined(acc_unused_funcs_impl)
  |  | 2076|       |#  if 1 && (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020700ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
  |  | 2077|       |#    define acc_unused_funcs_impl(r,f)  static r __attribute__((__unused__)) f
  |  | 2078|       |#  elif 1 && (ACC_CC_BORLANDC || ACC_CC_GNUC)
  |  | 2079|       |#    define acc_unused_funcs_impl(r,f)  static r f
  |  | 2080|       |#  else
  |  | 2081|       |#    define acc_unused_funcs_impl(r,f)  __acc_static_forceinline r f
  |  | 2082|       |#  endif
  |  | 2083|       |#endif
  |  | 2084|       |#ifndef ACC_CTA_INTERNAL_NAME__
  |  | 2085|       |#if (ACC_CFG_USE_COUNTER)
  |  | 2086|       |#  define ACC_CTA_INTERNAL_NAME__(a)         ACC_PP_ECONCAT2(a,__COUNTER__)
  |  | 2087|       |#else
  |  | 2088|       |#  define ACC_CTA_INTERNAL_NAME__(a)         ACC_PP_ECONCAT2(a,__LINE__)
  |  | 2089|       |#endif
  |  | 2090|       |#endif
  |  | 2091|       |#if !defined(ACC_COMPILE_TIME_ASSERT_HEADER)
  |  | 2092|       |#  if (ACC_LANG_CXX >= 201103L)
  |  | 2093|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  static_assert(e, #e);
  |  | 2094|       |#  elif (ACC_LANG_C >= 201112L)
  |  | 2095|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  _Static_assert(e, #e);
  |  | 2096|       |#  elif (ACC_CC_AZTECC || ACC_CC_ZORTECHC)
  |  | 2097|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN extern int ACC_CTA_INTERNAL_NAME__(acc_cta__)[1-!(e)]; ACC_EXTERN_C_END
  |  | 2098|       |#  elif (ACC_CC_DMC || ACC_CC_SYMANTECC)
  |  | 2099|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN extern int ACC_CTA_INTERNAL_NAME__(acc_cta__)[1u-2*!(e)]; ACC_EXTERN_C_END
  |  | 2100|       |#  elif (ACC_CC_TURBOC && (__TURBOC__ == 0x0295))
  |  | 2101|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN extern int ACC_CTA_INTERNAL_NAME__(acc_cta__)[1-!(e)]; ACC_EXTERN_C_END
  |  | 2102|       |#  elif (ACC_CC_CLANG && (ACC_CC_CLANG < 0x020900ul)) && defined(__cplusplus)
  |  | 2103|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN int ACC_CTA_INTERNAL_NAME__(acc_cta_f__)(int [1-2*!(e)]); ACC_EXTERN_C_END
  |  | 2104|       |#  elif (ACC_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
  |  | 2105|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN enum {ACC_CTA_INTERNAL_NAME__(acc_cta_e__)=1/!!(e)} __attribute__((__unused__)); ACC_EXTERN_C_END
  |  | 2106|       |#  else
  |  | 2107|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN extern int ACC_CTA_INTERNAL_NAME__(acc_cta__)[1-2*!(e)]; ACC_EXTERN_C_END
  |  | 2108|       |#  endif
  |  | 2109|       |#endif
  |  | 2110|       |#if !defined(ACC_COMPILE_TIME_ASSERT)
  |  | 2111|       |#  if (ACC_LANG_CXX >= 201103L)
  |  | 2112|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  | 2113|       |#  elif (ACC_LANG_C >= 201112L)
  |  | 2114|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {_Static_assert(e, #e);}
  |  | 2115|       |#  elif (ACC_CC_AZTECC)
  |  | 2116|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {typedef int ACC_CTA_INTERNAL_NAME__(acc_cta_t__)[1-!(e)];}
  |  | 2117|       |#  elif (ACC_CC_CLANG && (ACC_CC_CLANG >= 0x030000ul))
  |  | 2118|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {typedef int ACC_CTA_INTERNAL_NAME__(acc_cta_t__)[1-2*!(e)] __attribute__((__unused__));}
  |  | 2119|       |#  elif (ACC_CC_DMC || ACC_CC_PACIFICC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 2120|       |#    define ACC_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
  |  | 2121|       |#  elif (ACC_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
  |  | 2122|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {(void) (0/!!(e));}
  |  | 2123|       |#  elif (ACC_CC_GNUC >= 0x040700ul) && (ACC_CFG_USE_COUNTER) && defined(__cplusplus)
  |  | 2124|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {enum {ACC_CTA_INTERNAL_NAME__(acc_cta_e__)=1/!!(e)} __attribute__((__unused__));}
  |  | 2125|       |#  elif (ACC_CC_GNUC >= 0x040700ul)
  |  | 2126|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {typedef int ACC_CTA_INTERNAL_NAME__(acc_cta_t__)[1-2*!(e)] __attribute__((__unused__));}
  |  | 2127|       |#  elif (ACC_CC_MSC && (_MSC_VER < 900))
  |  | 2128|       |#    define ACC_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
  |  | 2129|       |#  elif (ACC_CC_TURBOC && (__TURBOC__ == 0x0295))
  |  | 2130|       |#    define ACC_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
  |  | 2131|       |#  else
  |  | 2132|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {typedef int ACC_CTA_INTERNAL_NAME__(acc_cta_t__)[1-2*!(e)];}
  |  | 2133|       |#  endif
  |  | 2134|       |#endif
  |  | 2135|       |#if (ACC_LANG_ASSEMBLER)
  |  | 2136|       |#  undef ACC_COMPILE_TIME_ASSERT_HEADER
  |  | 2137|       |#  define ACC_COMPILE_TIME_ASSERT_HEADER(e)  /*empty*/
  |  | 2138|       |#else
  |  | 2139|       |ACC_COMPILE_TIME_ASSERT_HEADER(1 == 1)
  |  | 2140|       |#if defined(__cplusplus)
  |  | 2141|       |extern "C" { ACC_COMPILE_TIME_ASSERT_HEADER(2 == 2) }
  |  | 2142|       |#endif
  |  | 2143|       |ACC_COMPILE_TIME_ASSERT_HEADER(3 == 3)
  |  | 2144|       |#endif
  |  | 2145|       |#if (ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 2146|       |#  if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PACIFICC)
  |  | 2147|       |#  elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 2148|       |#    define __acc_cdecl                 __cdecl
  |  | 2149|       |#    define __acc_cdecl_atexit          /*empty*/
  |  | 2150|       |#    define __acc_cdecl_main            __cdecl
  |  | 2151|       |#    if (ACC_OS_OS2 && (ACC_CC_DMC || ACC_CC_SYMANTECC))
  |  | 2152|       |#      define __acc_cdecl_qsort         __pascal
  |  | 2153|       |#    elif (ACC_OS_OS2 && (ACC_CC_ZORTECHC))
  |  | 2154|       |#      define __acc_cdecl_qsort         _stdcall
  |  | 2155|       |#    else
  |  | 2156|       |#      define __acc_cdecl_qsort         __cdecl
  |  | 2157|       |#    endif
  |  | 2158|       |#  elif (ACC_CC_WATCOMC)
  |  | 2159|       |#    define __acc_cdecl                 __cdecl
  |  | 2160|       |#  else
  |  | 2161|       |#    define __acc_cdecl                 __cdecl
  |  | 2162|       |#    define __acc_cdecl_atexit          __cdecl
  |  | 2163|       |#    define __acc_cdecl_main            __cdecl
  |  | 2164|       |#    define __acc_cdecl_qsort           __cdecl
  |  | 2165|       |#  endif
  |  | 2166|       |#  if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PACIFICC || ACC_CC_WATCOMC)
  |  | 2167|       |#  elif (ACC_OS_OS2 && (ACC_CC_DMC || ACC_CC_SYMANTECC))
  |  | 2168|       |#    define __acc_cdecl_sighandler      __pascal
  |  | 2169|       |#  elif (ACC_OS_OS2 && (ACC_CC_ZORTECHC))
  |  | 2170|       |#    define __acc_cdecl_sighandler      _stdcall
  |  | 2171|       |#  elif (ACC_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
  |  | 2172|       |#    define __acc_cdecl_sighandler      __clrcall
  |  | 2173|       |#  elif (ACC_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
  |  | 2174|       |#    if defined(_DLL)
  |  | 2175|       |#      define __acc_cdecl_sighandler    _far _cdecl _loadds
  |  | 2176|       |#    elif defined(_MT)
  |  | 2177|       |#      define __acc_cdecl_sighandler    _far _cdecl
  |  | 2178|       |#    else
  |  | 2179|       |#      define __acc_cdecl_sighandler    _cdecl
  |  | 2180|       |#    endif
  |  | 2181|       |#  else
  |  | 2182|       |#    define __acc_cdecl_sighandler      __cdecl
  |  | 2183|       |#  endif
  |  | 2184|       |#elif (ACC_ARCH_I386) && (ACC_CC_WATCOMC)
  |  | 2185|       |#  define __acc_cdecl                   __cdecl
  |  | 2186|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 2187|       |#  define __acc_cdecl                   cdecl
  |  | 2188|       |#endif
  |  | 2189|       |#if !defined(__acc_cdecl)
  |  | 2190|       |#  define __acc_cdecl                   /*empty*/
  |  | 2191|       |#endif
  |  | 2192|       |#if !defined(__acc_cdecl_atexit)
  |  | 2193|       |#  define __acc_cdecl_atexit            /*empty*/
  |  | 2194|       |#endif
  |  | 2195|       |#if !defined(__acc_cdecl_main)
  |  | 2196|       |#  define __acc_cdecl_main              /*empty*/
  |  | 2197|       |#endif
  |  | 2198|       |#if !defined(__acc_cdecl_qsort)
  |  | 2199|       |#  define __acc_cdecl_qsort             /*empty*/
  |  | 2200|       |#endif
  |  | 2201|       |#if !defined(__acc_cdecl_sighandler)
  |  | 2202|       |#  define __acc_cdecl_sighandler        /*empty*/
  |  | 2203|       |#endif
  |  | 2204|       |#if !defined(__acc_cdecl_va)
  |  | 2205|       |#  define __acc_cdecl_va                __acc_cdecl
  |  | 2206|       |#endif
  |  | 2207|       |#if !(ACC_CFG_NO_WINDOWS_H)
  |  | 2208|       |#if !defined(ACC_HAVE_WINDOWS_H)
  |  | 2209|       |#if (ACC_OS_CYGWIN || (ACC_OS_EMX && defined(__RSXNT__)) || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 2210|       |#  if (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
  |  | 2211|       |#  elif ((ACC_OS_WIN32 && defined(__PW32__)) && (ACC_CC_GNUC && (ACC_CC_GNUC < 0x030000ul)))
  |  | 2212|       |#  elif ((ACC_OS_CYGWIN || defined(__MINGW32__)) && (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025f00ul)))
  |  | 2213|       |#  else
  |  | 2214|       |#    define ACC_HAVE_WINDOWS_H 1
  |  | 2215|       |#  endif
  |  | 2216|       |#endif
  |  | 2217|       |#endif
  |  | 2218|       |#endif
  |  | 2219|       |#define ACC_SIZEOF_CHAR             1
  |  | 2220|       |#ifndef ACC_SIZEOF_SHORT
  |  | 2221|       |#if defined(SIZEOF_SHORT)
  |  | 2222|       |#  define ACC_SIZEOF_SHORT          (SIZEOF_SHORT)
  |  | 2223|       |#elif defined(__SIZEOF_SHORT__)
  |  | 2224|       |#  define ACC_SIZEOF_SHORT          (__SIZEOF_SHORT__)
  |  | 2225|       |#endif
  |  | 2226|       |#endif
  |  | 2227|       |#ifndef ACC_SIZEOF_INT
  |  | 2228|       |#if defined(SIZEOF_INT)
  |  | 2229|       |#  define ACC_SIZEOF_INT            (SIZEOF_INT)
  |  | 2230|       |#elif defined(__SIZEOF_INT__)
  |  | 2231|       |#  define ACC_SIZEOF_INT            (__SIZEOF_INT__)
  |  | 2232|       |#endif
  |  | 2233|       |#endif
  |  | 2234|       |#ifndef ACC_SIZEOF_LONG
  |  | 2235|       |#if defined(SIZEOF_LONG)
  |  | 2236|       |#  define ACC_SIZEOF_LONG           (SIZEOF_LONG)
  |  | 2237|       |#elif defined(__SIZEOF_LONG__)
  |  | 2238|       |#  define ACC_SIZEOF_LONG           (__SIZEOF_LONG__)
  |  | 2239|       |#endif
  |  | 2240|       |#endif
  |  | 2241|       |#ifndef ACC_SIZEOF_LONG_LONG
  |  | 2242|       |#if defined(SIZEOF_LONG_LONG)
  |  | 2243|       |#  define ACC_SIZEOF_LONG_LONG      (SIZEOF_LONG_LONG)
  |  | 2244|       |#elif defined(__SIZEOF_LONG_LONG__)
  |  | 2245|       |#  define ACC_SIZEOF_LONG_LONG      (__SIZEOF_LONG_LONG__)
  |  | 2246|       |#endif
  |  | 2247|       |#endif
  |  | 2248|       |#ifndef ACC_SIZEOF___INT16
  |  | 2249|       |#if defined(SIZEOF___INT16)
  |  | 2250|       |#  define ACC_SIZEOF___INT16        (SIZEOF___INT16)
  |  | 2251|       |#endif
  |  | 2252|       |#endif
  |  | 2253|       |#ifndef ACC_SIZEOF___INT32
  |  | 2254|       |#if defined(SIZEOF___INT32)
  |  | 2255|       |#  define ACC_SIZEOF___INT32        (SIZEOF___INT32)
  |  | 2256|       |#endif
  |  | 2257|       |#endif
  |  | 2258|       |#ifndef ACC_SIZEOF___INT64
  |  | 2259|       |#if defined(SIZEOF___INT64)
  |  | 2260|       |#  define ACC_SIZEOF___INT64        (SIZEOF___INT64)
  |  | 2261|       |#endif
  |  | 2262|       |#endif
  |  | 2263|       |#ifndef ACC_SIZEOF_VOID_P
  |  | 2264|       |#if defined(SIZEOF_VOID_P)
  |  | 2265|       |#  define ACC_SIZEOF_VOID_P         (SIZEOF_VOID_P)
  |  | 2266|       |#elif defined(__SIZEOF_POINTER__)
  |  | 2267|       |#  define ACC_SIZEOF_VOID_P         (__SIZEOF_POINTER__)
  |  | 2268|       |#endif
  |  | 2269|       |#endif
  |  | 2270|       |#ifndef ACC_SIZEOF_SIZE_T
  |  | 2271|       |#if defined(SIZEOF_SIZE_T)
  |  | 2272|       |#  define ACC_SIZEOF_SIZE_T         (SIZEOF_SIZE_T)
  |  | 2273|       |#elif defined(__SIZEOF_SIZE_T__)
  |  | 2274|       |#  define ACC_SIZEOF_SIZE_T         (__SIZEOF_SIZE_T__)
  |  | 2275|       |#endif
  |  | 2276|       |#endif
  |  | 2277|       |#ifndef ACC_SIZEOF_PTRDIFF_T
  |  | 2278|       |#if defined(SIZEOF_PTRDIFF_T)
  |  | 2279|       |#  define ACC_SIZEOF_PTRDIFF_T      (SIZEOF_PTRDIFF_T)
  |  | 2280|       |#elif defined(__SIZEOF_PTRDIFF_T__)
  |  | 2281|       |#  define ACC_SIZEOF_PTRDIFF_T      (__SIZEOF_PTRDIFF_T__)
  |  | 2282|       |#endif
  |  | 2283|       |#endif
  |  | 2284|       |#define __ACC_LSR(x,b)    (((x)+0ul) >> (b))
  |  | 2285|       |#if !defined(ACC_SIZEOF_SHORT)
  |  | 2286|       |#  if (ACC_ARCH_CRAY_PVP)
  |  | 2287|       |#    define ACC_SIZEOF_SHORT        8
  |  | 2288|       |#  elif (USHRT_MAX == ACC_0xffffL)
  |  | 2289|       |#    define ACC_SIZEOF_SHORT        2
  |  | 2290|       |#  elif (__ACC_LSR(USHRT_MAX,7) == 1)
  |  | 2291|       |#    define ACC_SIZEOF_SHORT        1
  |  | 2292|       |#  elif (__ACC_LSR(USHRT_MAX,15) == 1)
  |  | 2293|       |#    define ACC_SIZEOF_SHORT        2
  |  | 2294|       |#  elif (__ACC_LSR(USHRT_MAX,31) == 1)
  |  | 2295|       |#    define ACC_SIZEOF_SHORT        4
  |  | 2296|       |#  elif (__ACC_LSR(USHRT_MAX,63) == 1)
  |  | 2297|       |#    define ACC_SIZEOF_SHORT        8
  |  | 2298|       |#  elif (__ACC_LSR(USHRT_MAX,127) == 1)
  |  | 2299|       |#    define ACC_SIZEOF_SHORT        16
  |  | 2300|       |#  else
  |  | 2301|       |#    error "ACC_SIZEOF_SHORT"
  |  | 2302|       |#  endif
  |  | 2303|       |#endif
  |  | 2304|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_SHORT == sizeof(short))
  |  | 2305|       |#if !defined(ACC_SIZEOF_INT)
  |  | 2306|       |#  if (ACC_ARCH_CRAY_PVP)
  |  | 2307|       |#    define ACC_SIZEOF_INT          8
  |  | 2308|       |#  elif (UINT_MAX == ACC_0xffffL)
  |  | 2309|       |#    define ACC_SIZEOF_INT          2
  |  | 2310|       |#  elif (UINT_MAX == ACC_0xffffffffL)
  |  | 2311|       |#    define ACC_SIZEOF_INT          4
  |  | 2312|       |#  elif (__ACC_LSR(UINT_MAX,7) == 1)
  |  | 2313|       |#    define ACC_SIZEOF_INT          1
  |  | 2314|       |#  elif (__ACC_LSR(UINT_MAX,15) == 1)
  |  | 2315|       |#    define ACC_SIZEOF_INT          2
  |  | 2316|       |#  elif (__ACC_LSR(UINT_MAX,31) == 1)
  |  | 2317|       |#    define ACC_SIZEOF_INT          4
  |  | 2318|       |#  elif (__ACC_LSR(UINT_MAX,63) == 1)
  |  | 2319|       |#    define ACC_SIZEOF_INT          8
  |  | 2320|       |#  elif (__ACC_LSR(UINT_MAX,127) == 1)
  |  | 2321|       |#    define ACC_SIZEOF_INT          16
  |  | 2322|       |#  else
  |  | 2323|       |#    error "ACC_SIZEOF_INT"
  |  | 2324|       |#  endif
  |  | 2325|       |#endif
  |  | 2326|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_INT == sizeof(int))
  |  | 2327|       |#if !defined(ACC_SIZEOF_LONG)
  |  | 2328|       |#  if (ULONG_MAX == ACC_0xffffffffL)
  |  | 2329|       |#    define ACC_SIZEOF_LONG         4
  |  | 2330|       |#  elif (__ACC_LSR(ULONG_MAX,7) == 1)
  |  | 2331|       |#    define ACC_SIZEOF_LONG         1
  |  | 2332|       |#  elif (__ACC_LSR(ULONG_MAX,15) == 1)
  |  | 2333|       |#    define ACC_SIZEOF_LONG         2
  |  | 2334|       |#  elif (__ACC_LSR(ULONG_MAX,31) == 1)
  |  | 2335|       |#    define ACC_SIZEOF_LONG         4
  |  | 2336|       |#  elif (__ACC_LSR(ULONG_MAX,39) == 1)
  |  | 2337|       |#    define ACC_SIZEOF_LONG         5
  |  | 2338|       |#  elif (__ACC_LSR(ULONG_MAX,63) == 1)
  |  | 2339|       |#    define ACC_SIZEOF_LONG         8
  |  | 2340|       |#  elif (__ACC_LSR(ULONG_MAX,127) == 1)
  |  | 2341|       |#    define ACC_SIZEOF_LONG         16
  |  | 2342|       |#  else
  |  | 2343|       |#    error "ACC_SIZEOF_LONG"
  |  | 2344|       |#  endif
  |  | 2345|       |#endif
  |  | 2346|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_LONG == sizeof(long))
  |  | 2347|       |#if !defined(ACC_SIZEOF_LONG_LONG) && !defined(ACC_SIZEOF___INT64)
  |  | 2348|       |#if (ACC_SIZEOF_LONG > 0 && ACC_SIZEOF_LONG < 8)
  |  | 2349|       |#  if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
  |  | 2350|       |#    if (ACC_CC_GNUC >= 0x030300ul)
  |  | 2351|       |#      if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0))
  |  | 2352|       |#        define ACC_SIZEOF_LONG_LONG      ACC_SIZEOF_LONG
  |  | 2353|       |#      elif (__ACC_LSR(__LONG_LONG_MAX__,30) == 1)
  |  | 2354|       |#        define ACC_SIZEOF_LONG_LONG      4
  |  | 2355|       |#      endif
  |  | 2356|       |#    endif
  |  | 2357|       |#  endif
  |  | 2358|       |#endif
  |  | 2359|       |#endif
  |  | 2360|       |#if !defined(ACC_SIZEOF_LONG_LONG) && !defined(ACC_SIZEOF___INT64)
  |  | 2361|       |#if (ACC_SIZEOF_LONG > 0 && ACC_SIZEOF_LONG < 8)
  |  | 2362|       |#if (ACC_ARCH_I086 && ACC_CC_DMC)
  |  | 2363|       |#elif (ACC_CC_CILLY) && defined(__GNUC__)
  |  | 2364|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2365|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 2366|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2367|       |#elif ((ACC_OS_WIN32 || ACC_OS_WIN64 || defined(_WIN32)) && ACC_CC_MSC && (_MSC_VER >= 1400))
  |  | 2368|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2369|       |#elif (ACC_OS_WIN64 || defined(_WIN64))
  |  | 2370|       |#  define ACC_SIZEOF___INT64        8
  |  | 2371|       |#elif (ACC_ARCH_I386 && (ACC_CC_DMC))
  |  | 2372|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2373|       |#elif (ACC_ARCH_I386 && (ACC_CC_SYMANTECC && (__SC__ >= 0x700)))
  |  | 2374|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2375|       |#elif (ACC_ARCH_I386 && (ACC_CC_INTELC && defined(__linux__)))
  |  | 2376|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2377|       |#elif (ACC_ARCH_I386 && (ACC_CC_MWERKS || ACC_CC_PELLESC || ACC_CC_PGI || ACC_CC_SUNPROC))
  |  | 2378|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2379|       |#elif (ACC_ARCH_I386 && (ACC_CC_INTELC || ACC_CC_MSC))
  |  | 2380|       |#  define ACC_SIZEOF___INT64        8
  |  | 2381|       |#elif ((ACC_OS_WIN32 || defined(_WIN32)) && (ACC_CC_MSC))
  |  | 2382|       |#  define ACC_SIZEOF___INT64        8
  |  | 2383|       |#elif (ACC_ARCH_I386 && (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
  |  | 2384|       |#  define ACC_SIZEOF___INT64        8
  |  | 2385|       |#elif (ACC_ARCH_I386 && (ACC_CC_WATCOMC && (__WATCOMC__ >= 1100)))
  |  | 2386|       |#  define ACC_SIZEOF___INT64        8
  |  | 2387|       |#elif (ACC_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64))
  |  | 2388|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2389|       |#elif (ACC_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64))
  |  | 2390|       |#  define ACC_SIZEOF___INT64        8
  |  | 2391|       |#elif (ACC_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
  |  | 2392|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2393|       |#elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64)
  |  | 2394|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2395|       |#elif (ACC_CC_SDCC) && (ACC_SIZEOF_INT == 2)
  |  | 2396|       |#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
  |  | 2397|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2398|       |#endif
  |  | 2399|       |#endif
  |  | 2400|       |#endif
  |  | 2401|       |#if defined(__cplusplus) && (ACC_CC_GNUC)
  |  | 2402|       |#  if (ACC_CC_GNUC < 0x020800ul)
  |  | 2403|       |#    undef ACC_SIZEOF_LONG_LONG
  |  | 2404|       |#  endif
  |  | 2405|       |#endif
  |  | 2406|       |#if (ACC_CFG_NO_LONG_LONG)
  |  | 2407|       |#  undef ACC_SIZEOF_LONG_LONG
  |  | 2408|       |#elif defined(__NO_LONG_LONG)
  |  | 2409|       |#  undef ACC_SIZEOF_LONG_LONG
  |  | 2410|       |#elif defined(_NO_LONGLONG)
  |  | 2411|       |#  undef ACC_SIZEOF_LONG_LONG
  |  | 2412|       |#endif
  |  | 2413|       |#if !defined(ACC_WORDSIZE)
  |  | 2414|       |#if (ACC_ARCH_ALPHA)
  |  | 2415|       |#  define ACC_WORDSIZE              8
  |  | 2416|       |#elif (ACC_ARCH_AMD64)
  |  | 2417|       |#  define ACC_WORDSIZE              8
  |  | 2418|       |#elif (ACC_ARCH_ARM64)
  |  | 2419|       |#  define ACC_WORDSIZE              8
  |  | 2420|       |#elif (ACC_ARCH_AVR)
  |  | 2421|       |#  define ACC_WORDSIZE              1
  |  | 2422|       |#elif (ACC_ARCH_H8300)
  |  | 2423|       |#  if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
  |  | 2424|       |#    define ACC_WORDSIZE            4
  |  | 2425|       |#  else
  |  | 2426|       |#    define ACC_WORDSIZE            2
  |  | 2427|       |#  endif
  |  | 2428|       |#elif (ACC_ARCH_I086)
  |  | 2429|       |#  define ACC_WORDSIZE              2
  |  | 2430|       |#elif (ACC_ARCH_IA64)
  |  | 2431|       |#  define ACC_WORDSIZE              8
  |  | 2432|       |#elif (ACC_ARCH_M16C)
  |  | 2433|       |#  define ACC_WORDSIZE              2
  |  | 2434|       |#elif (ACC_ARCH_SPU)
  |  | 2435|       |#  define ACC_WORDSIZE              4
  |  | 2436|       |#elif (ACC_ARCH_Z80)
  |  | 2437|       |#  define ACC_WORDSIZE              1
  |  | 2438|       |#elif (ACC_ARCH_MIPS) && (ACC_SIZEOF_LONG == 8) && (defined(__R5900) || defined(__MIPS_PSX2__))
  |  | 2439|       |#  define ACC_WORDSIZE              8
  |  | 2440|       |#elif (ACC_ARCH_MIPS) && (ACC_SIZEOF_LONG == 4) && defined(__mips64) && defined(_MIPS_SIM) && defined(_ABIN32) && (_MIPS_SIM+0 == _ABIN32+0)
  |  | 2441|       |#  define ACC_WORDSIZE              8
  |  | 2442|       |#elif (ACC_OS_OS400 || defined(__OS400__))
  |  | 2443|       |#  define ACC_WORDSIZE              8
  |  | 2444|       |#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
  |  | 2445|       |#  define ACC_WORDSIZE              8
  |  | 2446|       |#endif
  |  | 2447|       |#endif
  |  | 2448|       |#if !defined(ACC_SIZEOF_VOID_P)
  |  | 2449|       |#if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32)
  |  | 2450|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(int)  == 4)
  |  | 2451|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
  |  | 2452|       |#  define ACC_SIZEOF_VOID_P         4
  |  | 2453|       |#elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64)
  |  | 2454|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(int)  == 8)
  |  | 2455|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
  |  | 2456|       |#  define ACC_SIZEOF_VOID_P         8
  |  | 2457|       |#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
  |  | 2458|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
  |  | 2459|       |#  define ACC_SIZEOF_VOID_P         8
  |  | 2460|       |#elif defined(__LP64__) || defined(__LP64) || defined(_LP64)
  |  | 2461|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
  |  | 2462|       |#  define ACC_SIZEOF_VOID_P         8
  |  | 2463|       |#elif (ACC_ARCH_AVR)
  |  | 2464|       |#  define ACC_SIZEOF_VOID_P         2
  |  | 2465|       |#elif (ACC_ARCH_C166 || ACC_ARCH_MCS51 || ACC_ARCH_MCS251 || ACC_ARCH_MSP430)
  |  | 2466|       |#  define ACC_SIZEOF_VOID_P         2
  |  | 2467|       |#elif (ACC_ARCH_H8300)
  |  | 2468|       |#  if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
  |  | 2469|       |     ACC_COMPILE_TIME_ASSERT_HEADER(ACC_WORDSIZE == 4)
  |  | 2470|       |#    if defined(__NORMAL_MODE__)
  |  | 2471|       |#      define ACC_SIZEOF_VOID_P     2
  |  | 2472|       |#    else
  |  | 2473|       |#      define ACC_SIZEOF_VOID_P     4
  |  | 2474|       |#    endif
  |  | 2475|       |#  else
  |  | 2476|       |     ACC_COMPILE_TIME_ASSERT_HEADER(ACC_WORDSIZE == 2)
  |  | 2477|       |#    define ACC_SIZEOF_VOID_P       2
  |  | 2478|       |#  endif
  |  | 2479|       |#  if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x040000ul)) && (ACC_SIZEOF_INT == 4)
  |  | 2480|       |#    define ACC_SIZEOF_SIZE_T       ACC_SIZEOF_INT
  |  | 2481|       |#    define ACC_SIZEOF_PTRDIFF_T    ACC_SIZEOF_INT
  |  | 2482|       |#  endif
  |  | 2483|       |#elif (ACC_ARCH_I086)
  |  | 2484|       |#  if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 2485|       |#    define ACC_SIZEOF_VOID_P       2
  |  | 2486|       |#  elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 2487|       |#    define ACC_SIZEOF_VOID_P       4
  |  | 2488|       |#  else
  |  | 2489|       |#    error "invalid ACC_ARCH_I086 memory model"
  |  | 2490|       |#  endif
  |  | 2491|       |#elif (ACC_ARCH_M16C)
  |  | 2492|       |#  if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
  |  | 2493|       |#    define ACC_SIZEOF_VOID_P       4
  |  | 2494|       |#  else
  |  | 2495|       |#    define ACC_SIZEOF_VOID_P       2
  |  | 2496|       |#  endif
  |  | 2497|       |#elif (ACC_ARCH_SPU)
  |  | 2498|       |#  define ACC_SIZEOF_VOID_P         4
  |  | 2499|       |#elif (ACC_ARCH_Z80)
  |  | 2500|       |#  define ACC_SIZEOF_VOID_P         2
  |  | 2501|       |#elif (ACC_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
  |  | 2502|       |#  define ACC_SIZEOF_VOID_P         4
  |  | 2503|       |#elif (ACC_OS_OS400 || defined(__OS400__))
  |  | 2504|       |#  if defined(__LLP64_IFC__)
  |  | 2505|       |#    define ACC_SIZEOF_VOID_P       8
  |  | 2506|       |#    define ACC_SIZEOF_SIZE_T       ACC_SIZEOF_LONG
  |  | 2507|       |#    define ACC_SIZEOF_PTRDIFF_T    ACC_SIZEOF_LONG
  |  | 2508|       |#  else
  |  | 2509|       |#    define ACC_SIZEOF_VOID_P       16
  |  | 2510|       |#    define ACC_SIZEOF_SIZE_T       ACC_SIZEOF_LONG
  |  | 2511|       |#    define ACC_SIZEOF_PTRDIFF_T    ACC_SIZEOF_LONG
  |  | 2512|       |#  endif
  |  | 2513|       |#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
  |  | 2514|       |#  define ACC_SIZEOF_VOID_P         8
  |  | 2515|       |#  define ACC_SIZEOF_SIZE_T         ACC_SIZEOF_LONG
  |  | 2516|       |#  define ACC_SIZEOF_PTRDIFF_T      ACC_SIZEOF_LONG
  |  | 2517|       |#endif
  |  | 2518|       |#endif
  |  | 2519|       |#if !defined(ACC_SIZEOF_VOID_P)
  |  | 2520|       |#  define ACC_SIZEOF_VOID_P         ACC_SIZEOF_LONG
  |  | 2521|       |#endif
  |  | 2522|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_VOID_P == sizeof(void *))
  |  | 2523|       |#if !defined(ACC_SIZEOF_SIZE_T)
  |  | 2524|       |#if (ACC_ARCH_I086 || ACC_ARCH_M16C)
  |  | 2525|       |#  define ACC_SIZEOF_SIZE_T         2
  |  | 2526|       |#endif
  |  | 2527|       |#endif
  |  | 2528|       |#if !defined(ACC_SIZEOF_SIZE_T)
  |  | 2529|       |#  define ACC_SIZEOF_SIZE_T         ACC_SIZEOF_VOID_P
  |  | 2530|       |#endif
  |  | 2531|       |#if defined(offsetof)
  |  | 2532|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_SIZE_T == sizeof(size_t))
  |  | 2533|       |#endif
  |  | 2534|       |#if !defined(ACC_SIZEOF_PTRDIFF_T)
  |  | 2535|       |#if (ACC_ARCH_I086)
  |  | 2536|       |#  if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM || ACC_MM_HUGE)
  |  | 2537|       |#    define ACC_SIZEOF_PTRDIFF_T    ACC_SIZEOF_VOID_P
  |  | 2538|       |#  elif (ACC_MM_COMPACT || ACC_MM_LARGE)
  |  | 2539|       |#    if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 2540|       |#      define ACC_SIZEOF_PTRDIFF_T  4
  |  | 2541|       |#    else
  |  | 2542|       |#      define ACC_SIZEOF_PTRDIFF_T  2
  |  | 2543|       |#    endif
  |  | 2544|       |#  else
  |  | 2545|       |#    error "invalid ACC_ARCH_I086 memory model"
  |  | 2546|       |#  endif
  |  | 2547|       |#endif
  |  | 2548|       |#endif
  |  | 2549|       |#if !defined(ACC_SIZEOF_PTRDIFF_T)
  |  | 2550|       |#  define ACC_SIZEOF_PTRDIFF_T      ACC_SIZEOF_SIZE_T
  |  | 2551|       |#endif
  |  | 2552|       |#if defined(offsetof)
  |  | 2553|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
  |  | 2554|       |#endif
  |  | 2555|       |#if !defined(ACC_WORDSIZE)
  |  | 2556|       |#  define ACC_WORDSIZE              ACC_SIZEOF_VOID_P
  |  | 2557|       |#endif
  |  | 2558|       |#if (ACC_ABI_NEUTRAL_ENDIAN)
  |  | 2559|       |#  undef ACC_ABI_BIG_ENDIAN
  |  | 2560|       |#  undef ACC_ABI_LITTLE_ENDIAN
  |  | 2561|       |#elif !(ACC_ABI_BIG_ENDIAN) && !(ACC_ABI_LITTLE_ENDIAN)
  |  | 2562|       |#if defined(__ORDER_BIG_ENDIAN__) && defined(__ORDER_LITTLE_ENDIAN__) && (__ORDER_BIG_ENDIAN__+0 != 0) && (__ORDER_LITTLE_ENDIAN__+0 != 0) && (__ORDER_BIG_ENDIAN__ + 0 != __ORDER_LITTLE_ENDIAN__ + 0) && defined(__BYTE_ORDER__) && (__BYTE_ORDER__+0 == __ORDER_BIG_ENDIAN__ + 0)
  |  | 2563|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2564|       |#elif defined(__ORDER_BIG_ENDIAN__) && defined(__ORDER_LITTLE_ENDIAN__) && (__ORDER_BIG_ENDIAN__+0 != 0) && (__ORDER_LITTLE_ENDIAN__+0 != 0) && (__ORDER_BIG_ENDIAN__ + 0 != __ORDER_LITTLE_ENDIAN__ + 0) && defined(__BYTE_ORDER__) && (__BYTE_ORDER__+0 == __ORDER_LITTLE_ENDIAN__ + 0)
  |  | 2565|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2566|       |#elif (ACC_ARCH_ALPHA) && (ACC_ARCH_CRAY_MPP)
  |  | 2567|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2568|       |#elif (ACC_ARCH_IA64) && (ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_LINUX || ACC_OS_WIN64)
  |  | 2569|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2570|       |#elif (ACC_ARCH_ALPHA || ACC_ARCH_AMD64 || ACC_ARCH_BLACKFIN || ACC_ARCH_CRIS || ACC_ARCH_I086 || ACC_ARCH_I386 || ACC_ARCH_MSP430 || ACC_ARCH_RISCV)
  |  | 2571|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2572|       |#elif (ACC_ARCH_AVR32 || ACC_ARCH_M68K || ACC_ARCH_S390 || ACC_ARCH_SPARC || ACC_ARCH_SPU)
  |  | 2573|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2574|       |#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
  |  | 2575|       |#  if (__LITTLE_ENDIAN__ == 1)
  |  | 2576|       |#    define ACC_ABI_LITTLE_ENDIAN   1
  |  | 2577|       |#  else
  |  | 2578|       |#    define ACC_ABI_BIG_ENDIAN      1
  |  | 2579|       |#  endif
  |  | 2580|       |#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
  |  | 2581|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2582|       |#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
  |  | 2583|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2584|       |#elif 1 && (ACC_ARCH_ARM) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
  |  | 2585|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2586|       |#elif 1 && (ACC_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
  |  | 2587|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2588|       |#elif 1 && (ACC_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
  |  | 2589|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2590|       |#elif 1 && (ACC_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32)
  |  | 2591|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2592|       |#elif 1 && (ACC_ARCH_ARM && ACC_CC_ARMCC_ARMCC)
  |  | 2593|       |#  if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
  |  | 2594|       |#    error "unexpected configuration - check your compiler defines"
  |  | 2595|       |#  elif defined(__BIG_ENDIAN)
  |  | 2596|       |#    define ACC_ABI_BIG_ENDIAN      1
  |  | 2597|       |#  else
  |  | 2598|       |#    define ACC_ABI_LITTLE_ENDIAN   1
  |  | 2599|       |#  endif
  |  | 2600|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2601|       |#elif 1 && (ACC_ARCH_ARM64) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
  |  | 2602|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2603|       |#elif 1 && (ACC_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__)
  |  | 2604|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2605|       |#elif 1 && (ACC_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__)
  |  | 2606|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2607|       |#elif 1 && (ACC_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32)
  |  | 2608|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2609|       |#elif 1 && (ACC_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
  |  | 2610|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2611|       |#elif 1 && (ACC_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
  |  | 2612|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2613|       |#endif
  |  | 2614|       |#endif
  |  | 2615|       |#if (ACC_ABI_BIG_ENDIAN) && (ACC_ABI_LITTLE_ENDIAN)
  |  | 2616|       |#  error "unexpected configuration - check your compiler defines"
  |  | 2617|       |#endif
  |  | 2618|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 2619|       |#  define ACC_INFO_ABI_ENDIAN       "be"
  |  | 2620|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 2621|       |#  define ACC_INFO_ABI_ENDIAN       "le"
  |  | 2622|       |#elif (ACC_ABI_NEUTRAL_ENDIAN)
  |  | 2623|       |#  define ACC_INFO_ABI_ENDIAN       "neutral"
  |  | 2624|       |#endif
  |  | 2625|       |#if (ACC_SIZEOF_INT == 1 && ACC_SIZEOF_LONG == 2 && ACC_SIZEOF_VOID_P == 2)
  |  | 2626|       |#  define ACC_ABI_I8LP16         1
  |  | 2627|       |#  define ACC_INFO_ABI_PM       "i8lp16"
  |  | 2628|       |#elif (ACC_SIZEOF_INT == 2 && ACC_SIZEOF_LONG == 2 && ACC_SIZEOF_VOID_P == 2)
  |  | 2629|       |#  define ACC_ABI_ILP16         1
  |  | 2630|       |#  define ACC_INFO_ABI_PM       "ilp16"
  |  | 2631|       |#elif (ACC_SIZEOF_INT == 2 && ACC_SIZEOF_LONG == 4 && ACC_SIZEOF_VOID_P == 4)
  |  | 2632|       |#  define ACC_ABI_LP32          1
  |  | 2633|       |#  define ACC_INFO_ABI_PM       "lp32"
  |  | 2634|       |#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 4 && ACC_SIZEOF_VOID_P == 4)
  |  | 2635|       |#  define ACC_ABI_ILP32         1
  |  | 2636|       |#  define ACC_INFO_ABI_PM       "ilp32"
  |  | 2637|       |#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 4 && ACC_SIZEOF_VOID_P == 8 && ACC_SIZEOF_SIZE_T == 8)
  |  | 2638|       |#  define ACC_ABI_LLP64         1
  |  | 2639|       |#  define ACC_INFO_ABI_PM       "llp64"
  |  | 2640|       |#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 8)
  |  | 2641|       |#  define ACC_ABI_LP64          1
  |  | 2642|       |#  define ACC_INFO_ABI_PM       "lp64"
  |  | 2643|       |#elif (ACC_SIZEOF_INT == 8 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 8)
  |  | 2644|       |#  define ACC_ABI_ILP64         1
  |  | 2645|       |#  define ACC_INFO_ABI_PM       "ilp64"
  |  | 2646|       |#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 4)
  |  | 2647|       |#  define ACC_ABI_IP32L64       1
  |  | 2648|       |#  define ACC_INFO_ABI_PM       "ip32l64"
  |  | 2649|       |#endif
  |  | 2650|       |#if (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_VOID_P == 4 && ACC_WORDSIZE == 8)
  |  | 2651|       |#  define ACC_ABI_IP32W64       1
  |  | 2652|       |#  ifndef ACC_INFO_ABI_PM
  |  | 2653|       |#  define ACC_INFO_ABI_PM       "ip32w64"
  |  | 2654|       |#  endif
  |  | 2655|       |#endif
  |  | 2656|       |#if 0
  |  | 2657|       |#elif !defined(__ACC_LIBC_OVERRIDE)
  |  | 2658|       |#if (ACC_LIBC_NAKED)
  |  | 2659|       |#  define ACC_INFO_LIBC         "naked"
  |  | 2660|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 2661|       |#  define ACC_INFO_LIBC         "freestanding"
  |  | 2662|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 2663|       |#  define ACC_INFO_LIBC         "mfreestanding"
  |  | 2664|       |#elif (ACC_LIBC_ISOC90)
  |  | 2665|       |#  define ACC_INFO_LIBC         "isoc90"
  |  | 2666|       |#elif (ACC_LIBC_ISOC99)
  |  | 2667|       |#  define ACC_INFO_LIBC         "isoc99"
  |  | 2668|       |#elif (ACC_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION)
  |  | 2669|       |#  define ACC_LIBC_ISOC90       1
  |  | 2670|       |#  define ACC_INFO_LIBC         "isoc90"
  |  | 2671|       |#elif defined(__dietlibc__)
  |  | 2672|       |#  define ACC_LIBC_DIETLIBC     1
  |  | 2673|       |#  define ACC_INFO_LIBC         "dietlibc"
  |  | 2674|       |#elif defined(_NEWLIB_VERSION)
  |  | 2675|       |#  define ACC_LIBC_NEWLIB       1
  |  | 2676|       |#  define ACC_INFO_LIBC         "newlib"
  |  | 2677|       |#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
  |  | 2678|       |#  if defined(__UCLIBC_SUBLEVEL__)
  |  | 2679|       |#    define ACC_LIBC_UCLIBC     (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0))
  |  | 2680|       |#  else
  |  | 2681|       |#    define ACC_LIBC_UCLIBC     0x00090bL
  |  | 2682|       |#  endif
  |  | 2683|       |#  define ACC_INFO_LIBC         "uc" "libc"
  |  | 2684|       |#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
  |  | 2685|       |#  define ACC_LIBC_GLIBC        (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100)
  |  | 2686|       |#  define ACC_INFO_LIBC         "glibc"
  |  | 2687|       |#elif (ACC_CC_MWERKS) && defined(__MSL__)
  |  | 2688|       |#  define ACC_LIBC_MSL          __MSL__
  |  | 2689|       |#  define ACC_INFO_LIBC         "msl"
  |  | 2690|       |#elif 1 && defined(__IAR_SYSTEMS_ICC__)
  |  | 2691|       |#  define ACC_LIBC_ISOC90       1
  |  | 2692|       |#  define ACC_INFO_LIBC         "isoc90"
  |  | 2693|       |#else
  |  | 2694|       |#  define ACC_LIBC_DEFAULT      1
  |  | 2695|       |#  define ACC_INFO_LIBC         "default"
  |  | 2696|       |#endif
  |  | 2697|       |#endif
  |  | 2698|       |#if (ACC_ARCH_I386 && (ACC_OS_DOS32 || ACC_OS_WIN32) && (ACC_CC_DMC || ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC))
  |  | 2699|       |#  define ACC_ASM_SYNTAX_MSC 1
  |  | 2700|       |#elif (ACC_OS_WIN64 && (ACC_CC_DMC || ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC))
  |  | 2701|       |#elif (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC == 0x011f00ul))
  |  | 2702|       |#elif (ACC_ARCH_I386 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE))
  |  | 2703|       |#  define ACC_ASM_SYNTAX_GNUC 1
  |  | 2704|       |#elif (ACC_ARCH_AMD64 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE))
  |  | 2705|       |#  define ACC_ASM_SYNTAX_GNUC 1
  |  | 2706|       |#elif (ACC_CC_GNUC)
  |  | 2707|       |#  define ACC_ASM_SYNTAX_GNUC 1
  |  | 2708|       |#endif
  |  | 2709|       |#if (ACC_ASM_SYNTAX_GNUC)
  |  | 2710|       |#if (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 2711|       |#  define __ACC_ASM_CLOBBER                     "ax"
  |  | 2712|       |#  define __ACC_ASM_CLOBBER_LIST_CC             /*empty*/
  |  | 2713|       |#  define __ACC_ASM_CLOBBER_LIST_CC_MEMORY      /*empty*/
  |  | 2714|       |#  define __ACC_ASM_CLOBBER_LIST_EMPTY          /*empty*/
  |  | 2715|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 1000))
  |  | 2716|       |#  define __ACC_ASM_CLOBBER                     "memory"
  |  | 2717|       |#  define __ACC_ASM_CLOBBER_LIST_CC             /*empty*/
  |  | 2718|       |#  define __ACC_ASM_CLOBBER_LIST_CC_MEMORY      : "memory"
  |  | 2719|       |#  define __ACC_ASM_CLOBBER_LIST_EMPTY          /*empty*/
  |  | 2720|       |#else
  |  | 2721|       |#  define __ACC_ASM_CLOBBER                     "cc", "memory"
  |  | 2722|       |#  define __ACC_ASM_CLOBBER_LIST_CC             : "cc"
  |  | 2723|       |#  define __ACC_ASM_CLOBBER_LIST_CC_MEMORY      : "cc", "memory"
  |  | 2724|       |#  define __ACC_ASM_CLOBBER_LIST_EMPTY          /*empty*/
  |  | 2725|       |#endif
  |  | 2726|       |#endif
  |  | 2727|       |#if (ACC_ARCH_ALPHA)
  |  | 2728|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2729|       |#elif (ACC_ARCH_AMD64)
  |  | 2730|       |#  define ACC_OPT_AVOID_INT_INDEX           1
  |  | 2731|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2732|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2733|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2734|       |#  endif
  |  | 2735|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2736|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2737|       |#  endif
  |  | 2738|       |#  ifndef ACC_OPT_UNALIGNED64
  |  | 2739|       |#  define ACC_OPT_UNALIGNED64               1
  |  | 2740|       |#  endif
  |  | 2741|       |#elif (ACC_ARCH_ARM)
  |  | 2742|       |#  if defined(__ARM_FEATURE_UNALIGNED) && (__ARM_FEATURE_UNALIGNED+0)
  |  | 2743|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2744|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2745|       |#    endif
  |  | 2746|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2747|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2748|       |#    endif
  |  | 2749|       |#  elif defined(__TARGET_FEATURE_UNALIGNED) && (__TARGET_FEATURE_UNALIGNED+0)
  |  | 2750|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2751|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2752|       |#    endif
  |  | 2753|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2754|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2755|       |#    endif
  |  | 2756|       |#  elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7)
  |  | 2757|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2758|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2759|       |#    endif
  |  | 2760|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2761|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2762|       |#    endif
  |  | 2763|       |#  endif
  |  | 2764|       |#elif (ACC_ARCH_ARM64)
  |  | 2765|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2766|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2767|       |#  endif
  |  | 2768|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2769|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2770|       |#  endif
  |  | 2771|       |#  ifndef ACC_OPT_UNALIGNED64
  |  | 2772|       |#  define ACC_OPT_UNALIGNED64               1
  |  | 2773|       |#  endif
  |  | 2774|       |#elif (ACC_ARCH_CRIS)
  |  | 2775|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2776|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2777|       |#  endif
  |  | 2778|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2779|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2780|       |#  endif
  |  | 2781|       |#elif (ACC_ARCH_I386)
  |  | 2782|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2783|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2784|       |#  endif
  |  | 2785|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2786|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2787|       |#  endif
  |  | 2788|       |#elif (ACC_ARCH_IA64)
  |  | 2789|       |#  define ACC_OPT_AVOID_INT_INDEX           1
  |  | 2790|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2791|       |#  define ACC_OPT_PREFER_POSTINC            1
  |  | 2792|       |#elif (ACC_ARCH_M68K)
  |  | 2793|       |#  define ACC_OPT_PREFER_POSTINC            1
  |  | 2794|       |#  define ACC_OPT_PREFER_PREDEC             1
  |  | 2795|       |#  if defined(__mc68020__) && !defined(__mcoldfire__)
  |  | 2796|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2797|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2798|       |#    endif
  |  | 2799|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2800|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2801|       |#    endif
  |  | 2802|       |#  endif
  |  | 2803|       |#elif (ACC_ARCH_MIPS)
  |  | 2804|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2805|       |#elif (ACC_ARCH_POWERPC)
  |  | 2806|       |#  define ACC_OPT_PREFER_PREINC             1
  |  | 2807|       |#  define ACC_OPT_PREFER_PREDEC             1
  |  | 2808|       |#  if (ACC_WORDSIZE == 8) || (ACC_ABI_BIG_ENDIAN)
  |  | 2809|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2810|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2811|       |#    endif
  |  | 2812|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2813|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2814|       |#    endif
  |  | 2815|       |#  endif
  |  | 2816|       |#  if (ACC_WORDSIZE == 8)
  |  | 2817|       |#    ifndef ACC_OPT_UNALIGNED64
  |  | 2818|       |#    define ACC_OPT_UNALIGNED64             1
  |  | 2819|       |#    endif
  |  | 2820|       |#  endif
  |  | 2821|       |#elif (ACC_ARCH_RISCV)
  |  | 2822|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2823|       |#elif (ACC_ARCH_S390)
  |  | 2824|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2825|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2826|       |#  endif
  |  | 2827|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2828|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2829|       |#  endif
  |  | 2830|       |#  if (ACC_WORDSIZE == 8)
  |  | 2831|       |#    ifndef ACC_OPT_UNALIGNED64
  |  | 2832|       |#    define ACC_OPT_UNALIGNED64             1
  |  | 2833|       |#    endif
  |  | 2834|       |#  endif
  |  | 2835|       |#elif (ACC_ARCH_SH)
  |  | 2836|       |#  define ACC_OPT_PREFER_POSTINC            1
  |  | 2837|       |#  define ACC_OPT_PREFER_PREDEC             1
  |  | 2838|       |#endif
  |  | 2839|       |#ifndef ACC_CFG_NO_INLINE_ASM
  |  | 2840|       |#if (ACC_ABI_NEUTRAL_ENDIAN) || (ACC_ARCH_GENERIC)
  |  | 2841|       |#  define ACC_CFG_NO_INLINE_ASM 1
  |  | 2842|       |#elif (ACC_CC_LLVM)
  |  | 2843|       |#  define ACC_CFG_NO_INLINE_ASM 1
  |  | 2844|       |#endif
  |  | 2845|       |#endif
  |  | 2846|       |#if (ACC_CFG_NO_INLINE_ASM)
  |  | 2847|       |#  undef ACC_ASM_SYNTAX_MSC
  |  | 2848|       |#  undef ACC_ASM_SYNTAX_GNUC
  |  | 2849|       |#  undef __ACC_ASM_CLOBBER
  |  | 2850|       |#  undef __ACC_ASM_CLOBBER_LIST_CC
  |  | 2851|       |#  undef __ACC_ASM_CLOBBER_LIST_CC_MEMORY
  |  | 2852|       |#  undef __ACC_ASM_CLOBBER_LIST_EMPTY
  |  | 2853|       |#endif
  |  | 2854|       |#ifndef ACC_CFG_NO_UNALIGNED
  |  | 2855|       |#if (ACC_ABI_NEUTRAL_ENDIAN) || (ACC_ARCH_GENERIC)
  |  | 2856|       |#  define ACC_CFG_NO_UNALIGNED 1
  |  | 2857|       |#endif
  |  | 2858|       |#endif
  |  | 2859|       |#if (ACC_CFG_NO_UNALIGNED)
  |  | 2860|       |#  undef ACC_OPT_UNALIGNED16
  |  | 2861|       |#  undef ACC_OPT_UNALIGNED32
  |  | 2862|       |#  undef ACC_OPT_UNALIGNED64
  |  | 2863|       |#endif
  |  | 2864|       |#if defined(__ACC_INFOSTR_MM)
  |  | 2865|       |#elif (ACC_MM_FLAT) && (defined(__ACC_INFOSTR_PM) || defined(ACC_INFO_ABI_PM))
  |  | 2866|       |#  define __ACC_INFOSTR_MM          ""
  |  | 2867|       |#elif defined(ACC_INFO_MM)
  |  | 2868|       |#  define __ACC_INFOSTR_MM          "." ACC_INFO_MM
  |  | 2869|       |#else
  |  | 2870|       |#  define __ACC_INFOSTR_MM          ""
  |  | 2871|       |#endif
  |  | 2872|       |#if defined(__ACC_INFOSTR_PM)
  |  | 2873|       |#elif defined(ACC_INFO_ABI_PM)
  |  | 2874|       |#  define __ACC_INFOSTR_PM          "." ACC_INFO_ABI_PM
  |  | 2875|       |#else
  |  | 2876|       |#  define __ACC_INFOSTR_PM          ""
  |  | 2877|       |#endif
  |  | 2878|       |#if defined(__ACC_INFOSTR_ENDIAN)
  |  | 2879|       |#elif defined(ACC_INFO_ABI_ENDIAN)
  |  | 2880|       |#  define __ACC_INFOSTR_ENDIAN      "." ACC_INFO_ABI_ENDIAN
  |  | 2881|       |#else
  |  | 2882|       |#  define __ACC_INFOSTR_ENDIAN      ""
  |  | 2883|       |#endif
  |  | 2884|       |#if defined(__ACC_INFOSTR_OSNAME)
  |  | 2885|       |#elif defined(ACC_INFO_OS_CONSOLE)
  |  | 2886|       |#  define __ACC_INFOSTR_OSNAME      ACC_INFO_OS "." ACC_INFO_OS_CONSOLE
  |  | 2887|       |#elif defined(ACC_INFO_OS_POSIX)
  |  | 2888|       |#  define __ACC_INFOSTR_OSNAME      ACC_INFO_OS "." ACC_INFO_OS_POSIX
  |  | 2889|       |#else
  |  | 2890|       |#  define __ACC_INFOSTR_OSNAME      ACC_INFO_OS
  |  | 2891|       |#endif
  |  | 2892|       |#if defined(__ACC_INFOSTR_LIBC)
  |  | 2893|       |#elif defined(ACC_INFO_LIBC)
  |  | 2894|       |#  define __ACC_INFOSTR_LIBC        "." ACC_INFO_LIBC
  |  | 2895|       |#else
  |  | 2896|       |#  define __ACC_INFOSTR_LIBC        ""
  |  | 2897|       |#endif
  |  | 2898|       |#if defined(__ACC_INFOSTR_CCVER)
  |  | 2899|       |#elif defined(ACC_INFO_CCVER)
  |  | 2900|       |#  define __ACC_INFOSTR_CCVER       " " ACC_INFO_CCVER
  |  | 2901|       |#else
  |  | 2902|       |#  define __ACC_INFOSTR_CCVER       ""
  |  | 2903|       |#endif
  |  | 2904|       |#define ACC_INFO_STRING \
  |  | 2905|       |    ACC_INFO_ARCH __ACC_INFOSTR_MM __ACC_INFOSTR_PM __ACC_INFOSTR_ENDIAN \
  |  | 2906|       |    " " __ACC_INFOSTR_OSNAME __ACC_INFOSTR_LIBC " " ACC_INFO_CC __ACC_INFOSTR_CCVER
  |  | 2907|       |#if !(ACC_CFG_SKIP_ACC_TYPES)
  |  | 2908|       |#if (!(ACC_SIZEOF_SHORT+0 > 0 && ACC_SIZEOF_INT+0 > 0 && ACC_SIZEOF_LONG+0 > 0))
  |  | 2909|       |#  error "missing defines for sizes"
  |  | 2910|       |#endif
  |  | 2911|       |#if (!(ACC_SIZEOF_PTRDIFF_T+0 > 0 && ACC_SIZEOF_SIZE_T+0 > 0 && ACC_SIZEOF_VOID_P+0 > 0))
  |  | 2912|       |#  error "missing defines for sizes"
  |  | 2913|       |#endif
  |  | 2914|       |#define ACC_TYPEOF_CHAR             1u
  |  | 2915|       |#define ACC_TYPEOF_SHORT            2u
  |  | 2916|       |#define ACC_TYPEOF_INT              3u
  |  | 2917|       |#define ACC_TYPEOF_LONG             4u
  |  | 2918|       |#define ACC_TYPEOF_LONG_LONG        5u
  |  | 2919|       |#define ACC_TYPEOF___INT8           17u
  |  | 2920|       |#define ACC_TYPEOF___INT16          18u
  |  | 2921|       |#define ACC_TYPEOF___INT32          19u
  |  | 2922|       |#define ACC_TYPEOF___INT64          20u
  |  | 2923|       |#define ACC_TYPEOF___INT128         21u
  |  | 2924|       |#define ACC_TYPEOF___INT256         22u
  |  | 2925|       |#define ACC_TYPEOF___MODE_QI        33u
  |  | 2926|       |#define ACC_TYPEOF___MODE_HI        34u
  |  | 2927|       |#define ACC_TYPEOF___MODE_SI        35u
  |  | 2928|       |#define ACC_TYPEOF___MODE_DI        36u
  |  | 2929|       |#define ACC_TYPEOF___MODE_TI        37u
  |  | 2930|       |#define ACC_TYPEOF_CHAR_P           129u
  |  | 2931|       |#if !defined(acc_llong_t)
  |  | 2932|       |#if (ACC_SIZEOF_LONG_LONG+0 > 0)
  |  | 2933|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 2934|       |   __acc_gnuc_extension__ typedef long long acc_llong_t__;
  |  | 2935|       |   __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t__;
  |  | 2936|       |#  endif
  |  | 2937|       |#  define acc_llong_t               acc_llong_t__
  |  | 2938|       |#  define acc_ullong_t              acc_ullong_t__
  |  | 2939|       |#endif
  |  | 2940|       |#endif
  |  | 2941|       |#if !defined(acc_int16e_t)
  |  | 2942|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT) && (ACC_SIZEOF_SHORT != 2)
  |  | 2943|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T
  |  | 2944|       |#endif
  |  | 2945|       |#if (ACC_SIZEOF_LONG == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
  |  | 2946|       |#  define acc_int16e_t              long
  |  | 2947|       |#  define acc_uint16e_t             unsigned long
  |  | 2948|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_LONG
  |  | 2949|       |#elif (ACC_SIZEOF_INT == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
  |  | 2950|       |#  define acc_int16e_t              int
  |  | 2951|       |#  define acc_uint16e_t             unsigned int
  |  | 2952|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_INT
  |  | 2953|       |#elif (ACC_SIZEOF_SHORT == 2)
  |  | 2954|       |#  define acc_int16e_t              short int
  |  | 2955|       |#  define acc_uint16e_t             unsigned short int
  |  | 2956|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_SHORT
  |  | 2957|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_HI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM)
  |  | 2958|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 2959|       |   typedef int acc_int16e_hi_t__ __attribute__((__mode__(__HI__)));
  |  | 2960|       |   typedef unsigned int acc_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
  |  | 2961|       |#  endif
  |  | 2962|       |#  define acc_int16e_t              acc_int16e_hi_t__
  |  | 2963|       |#  define acc_uint16e_t             acc_uint16e_hi_t__
  |  | 2964|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF___MODE_HI
  |  | 2965|       |#elif (ACC_SIZEOF___INT16 == 2)
  |  | 2966|       |#  define acc_int16e_t              __int16
  |  | 2967|       |#  define acc_uint16e_t             unsigned __int16
  |  | 2968|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF___INT16
  |  | 2969|       |#else
  |  | 2970|       |#endif
  |  | 2971|       |#endif
  |  | 2972|       |#if defined(acc_int16e_t)
  |  | 2973|       |#  define ACC_SIZEOF_ACC_INT16E_T   2
  |  | 2974|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == 2)
  |  | 2975|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
  |  | 2976|       |#endif
  |  | 2977|       |#if !defined(acc_int32e_t)
  |  | 2978|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT) && (ACC_SIZEOF_INT != 4)
  |  | 2979|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T
  |  | 2980|       |#endif
  |  | 2981|       |#if (ACC_SIZEOF_LONG == 4) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT)
  |  | 2982|       |#  define acc_int32e_t              long int
  |  | 2983|       |#  define acc_uint32e_t             unsigned long int
  |  | 2984|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_LONG
  |  | 2985|       |#elif (ACC_SIZEOF_INT == 4)
  |  | 2986|       |#  define acc_int32e_t              int
  |  | 2987|       |#  define acc_uint32e_t             unsigned int
  |  | 2988|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_INT
  |  | 2989|       |#elif (ACC_SIZEOF_SHORT == 4)
  |  | 2990|       |#  define acc_int32e_t              short int
  |  | 2991|       |#  define acc_uint32e_t             unsigned short int
  |  | 2992|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_SHORT
  |  | 2993|       |#elif (ACC_SIZEOF_LONG_LONG == 4)
  |  | 2994|       |#  define acc_int32e_t              acc_llong_t
  |  | 2995|       |#  define acc_uint32e_t             acc_ullong_t
  |  | 2996|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_LONG_LONG
  |  | 2997|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
  |  | 2998|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 2999|       |   typedef int acc_int32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 3000|       |   typedef unsigned int acc_uint32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 3001|       |#  endif
  |  | 3002|       |#  define acc_int32e_t              acc_int32e_si_t__
  |  | 3003|       |#  define acc_uint32e_t             acc_uint32e_si_t__
  |  | 3004|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___MODE_SI
  |  | 3005|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
  |  | 3006|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3007|       |   typedef int acc_int32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 3008|       |   typedef unsigned int acc_uint32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 3009|       |#  endif
  |  | 3010|       |#  define acc_int32e_t              acc_int32e_si_t__
  |  | 3011|       |#  define acc_uint32e_t             acc_uint32e_si_t__
  |  | 3012|       |#  define ACC_INT32_C(c)            (c##LL)
  |  | 3013|       |#  define ACC_UINT32_C(c)           (c##ULL)
  |  | 3014|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___MODE_SI
  |  | 3015|       |#elif (ACC_SIZEOF___INT32 == 4)
  |  | 3016|       |#  define acc_int32e_t              __int32
  |  | 3017|       |#  define acc_uint32e_t             unsigned __int32
  |  | 3018|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___INT32
  |  | 3019|       |#else
  |  | 3020|       |#endif
  |  | 3021|       |#endif
  |  | 3022|       |#if defined(acc_int32e_t)
  |  | 3023|       |#  define ACC_SIZEOF_ACC_INT32E_T   4
  |  | 3024|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32e_t) == 4)
  |  | 3025|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32e_t) == ACC_SIZEOF_ACC_INT32E_T)
  |  | 3026|       |#endif
  |  | 3027|       |#if !defined(acc_int64e_t)
  |  | 3028|       |#if (ACC_SIZEOF___INT64 == 8)
  |  | 3029|       |#  if (ACC_CC_BORLANDC) && !defined(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T)
  |  | 3030|       |#    define ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T  ACC_TYPEOF___INT64
  |  | 3031|       |#  endif
  |  | 3032|       |#endif
  |  | 3033|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && (ACC_SIZEOF_LONG_LONG != 8)
  |  | 3034|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
  |  | 3035|       |#endif
  |  | 3036|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64) && (ACC_SIZEOF___INT64 != 8)
  |  | 3037|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
  |  | 3038|       |#endif
  |  | 3039|       |#if (ACC_SIZEOF_INT == 8) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 3040|       |#  define acc_int64e_t              int
  |  | 3041|       |#  define acc_uint64e_t             unsigned int
  |  | 3042|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_INT
  |  | 3043|       |#elif (ACC_SIZEOF_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
  |  | 3044|       |#  define acc_int64e_t              long int
  |  | 3045|       |#  define acc_uint64e_t             unsigned long int
  |  | 3046|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_LONG
  |  | 3047|       |#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
  |  | 3048|       |#  define acc_int64e_t              acc_llong_t
  |  | 3049|       |#  define acc_uint64e_t             acc_ullong_t
  |  | 3050|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_LONG_LONG
  |  | 3051|       |#  if (ACC_CC_BORLANDC)
  |  | 3052|       |#    define ACC_INT64_C(c)          ((c) + 0ll)
  |  | 3053|       |#    define ACC_UINT64_C(c)         ((c) + 0ull)
  |  | 3054|       |#  elif 0
  |  | 3055|       |#    define ACC_INT64_C(c)          (__acc_gnuc_extension__ (c##LL))
  |  | 3056|       |#    define ACC_UINT64_C(c)         (__acc_gnuc_extension__ (c##ULL))
  |  | 3057|       |#  else
  |  | 3058|       |#    define ACC_INT64_C(c)          (c##LL)
  |  | 3059|       |#    define ACC_UINT64_C(c)         (c##ULL)
  |  | 3060|       |#  endif
  |  | 3061|       |#elif (ACC_SIZEOF___INT64 == 8)
  |  | 3062|       |#  define acc_int64e_t              __int64
  |  | 3063|       |#  define acc_uint64e_t             unsigned __int64
  |  | 3064|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF___INT64
  |  | 3065|       |#  if (ACC_CC_BORLANDC)
  |  | 3066|       |#    define ACC_INT64_C(c)          ((c) + 0i64)
  |  | 3067|       |#    define ACC_UINT64_C(c)         ((c) + 0ui64)
  |  | 3068|       |#  else
  |  | 3069|       |#    define ACC_INT64_C(c)          (c##i64)
  |  | 3070|       |#    define ACC_UINT64_C(c)         (c##ui64)
  |  | 3071|       |#  endif
  |  | 3072|       |#else
  |  | 3073|       |#endif
  |  | 3074|       |#endif
  |  | 3075|       |#if defined(acc_int64e_t)
  |  | 3076|       |#  define ACC_SIZEOF_ACC_INT64E_T   8
  |  | 3077|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64e_t) == 8)
  |  | 3078|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64e_t) == ACC_SIZEOF_ACC_INT64E_T)
  |  | 3079|       |#endif
  |  | 3080|       |#if !defined(acc_int32l_t)
  |  | 3081|       |#if defined(acc_int32e_t)
  |  | 3082|       |#  define acc_int32l_t              acc_int32e_t
  |  | 3083|       |#  define acc_uint32l_t             acc_uint32e_t
  |  | 3084|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_ACC_INT32E_T
  |  | 3085|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_TYPEOF_ACC_INT32E_T
  |  | 3086|       |#elif (ACC_SIZEOF_INT >= 4) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 3087|       |#  define acc_int32l_t              int
  |  | 3088|       |#  define acc_uint32l_t             unsigned int
  |  | 3089|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_INT
  |  | 3090|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_SIZEOF_INT
  |  | 3091|       |#elif (ACC_SIZEOF_LONG >= 4)
  |  | 3092|       |#  define acc_int32l_t              long int
  |  | 3093|       |#  define acc_uint32l_t             unsigned long int
  |  | 3094|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_LONG
  |  | 3095|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_SIZEOF_LONG
  |  | 3096|       |#else
  |  | 3097|       |#  error "acc_int32l_t"
  |  | 3098|       |#endif
  |  | 3099|       |#endif
  |  | 3100|       |#if 1
  |  | 3101|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32l_t) >= 4)
  |  | 3102|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32l_t) == ACC_SIZEOF_ACC_INT32L_T)
  |  | 3103|       |#endif
  |  | 3104|       |#if !defined(acc_int64l_t)
  |  | 3105|       |#if defined(acc_int64e_t)
  |  | 3106|       |#  define acc_int64l_t              acc_int64e_t
  |  | 3107|       |#  define acc_uint64l_t             acc_uint64e_t
  |  | 3108|       |#  define ACC_SIZEOF_ACC_INT64L_T   ACC_SIZEOF_ACC_INT64E_T
  |  | 3109|       |#  define ACC_TYPEOF_ACC_INT64L_T   ACC_TYPEOF_ACC_INT64E_T
  |  | 3110|       |#else
  |  | 3111|       |#endif
  |  | 3112|       |#endif
  |  | 3113|       |#if defined(acc_int64l_t)
  |  | 3114|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64l_t) >= 8)
  |  | 3115|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64l_t) == ACC_SIZEOF_ACC_INT64L_T)
  |  | 3116|       |#endif
  |  | 3117|       |#if !defined(acc_int32f_t)
  |  | 3118|       |#if (ACC_SIZEOF_SIZE_T >= 8)
  |  | 3119|       |#  define acc_int32f_t              acc_int64l_t
  |  | 3120|       |#  define acc_uint32f_t             acc_uint64l_t
  |  | 3121|       |#  define ACC_SIZEOF_ACC_INT32F_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 3122|       |#  define ACC_TYPEOF_ACC_INT32F_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 3123|       |#else
  |  | 3124|       |#  define acc_int32f_t              acc_int32l_t
  |  | 3125|       |#  define acc_uint32f_t             acc_uint32l_t
  |  | 3126|       |#  define ACC_SIZEOF_ACC_INT32F_T   ACC_SIZEOF_ACC_INT32L_T
  |  | 3127|       |#  define ACC_TYPEOF_ACC_INT32F_T   ACC_TYPEOF_ACC_INT32L_T
  |  | 3128|       |#endif
  |  | 3129|       |#endif
  |  | 3130|       |#if 1
  |  | 3131|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32f_t) >= 4)
  |  | 3132|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32f_t) == ACC_SIZEOF_ACC_INT32F_T)
  |  | 3133|       |#endif
  |  | 3134|       |#if !defined(acc_int64f_t)
  |  | 3135|       |#if defined(acc_int64l_t)
  |  | 3136|       |#  define acc_int64f_t              acc_int64l_t
  |  | 3137|       |#  define acc_uint64f_t             acc_uint64l_t
  |  | 3138|       |#  define ACC_SIZEOF_ACC_INT64F_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 3139|       |#  define ACC_TYPEOF_ACC_INT64F_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 3140|       |#else
  |  | 3141|       |#endif
  |  | 3142|       |#endif
  |  | 3143|       |#if defined(acc_int64f_t)
  |  | 3144|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64f_t) >= 8)
  |  | 3145|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64f_t) == ACC_SIZEOF_ACC_INT64F_T)
  |  | 3146|       |#endif
  |  | 3147|       |#if !defined(acc_intptr_t)
  |  | 3148|       |#if defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
  |  | 3149|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3150|       |   typedef __INTPTR_TYPE__          acc_intptr_t;
  |  | 3151|       |   typedef __UINTPTR_TYPE__         acc_uintptr_t;
  |  | 3152|       |#  endif
  |  | 3153|       |#  define acc_intptr_t              acc_intptr_t
  |  | 3154|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 3155|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_VOID_P
  |  | 3156|       |#elif 1 && (ACC_OS_OS400 && (ACC_SIZEOF_VOID_P == 16))
  |  | 3157|       |#  define __ACC_INTPTR_T_IS_POINTER 1
  |  | 3158|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3159|       |   typedef char *                   acc_intptr_t;
  |  | 3160|       |   typedef char *                   acc_uintptr_t;
  |  | 3161|       |#  endif
  |  | 3162|       |#  define acc_intptr_t              acc_intptr_t
  |  | 3163|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 3164|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_VOID_P
  |  | 3165|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_CHAR_P
  |  | 3166|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1300) && (ACC_SIZEOF_VOID_P == 4) && (ACC_SIZEOF_INT == 4))
  |  | 3167|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3168|       |   typedef __w64 int                acc_intptr_t;
  |  | 3169|       |   typedef __w64 unsigned int       acc_uintptr_t;
  |  | 3170|       |#  endif
  |  | 3171|       |#  define acc_intptr_t              acc_intptr_t
  |  | 3172|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 3173|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_INT
  |  | 3174|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_INT
  |  | 3175|       |#elif (ACC_SIZEOF_SHORT == ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT > ACC_SIZEOF_VOID_P)
  |  | 3176|       |#  define acc_intptr_t              short
  |  | 3177|       |#  define acc_uintptr_t             unsigned short
  |  | 3178|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_SHORT
  |  | 3179|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_SHORT
  |  | 3180|       |#elif (ACC_SIZEOF_INT >= ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 3181|       |#  define acc_intptr_t              int
  |  | 3182|       |#  define acc_uintptr_t             unsigned int
  |  | 3183|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_INT
  |  | 3184|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_INT
  |  | 3185|       |#elif (ACC_SIZEOF_LONG >= ACC_SIZEOF_VOID_P)
  |  | 3186|       |#  define acc_intptr_t              long
  |  | 3187|       |#  define acc_uintptr_t             unsigned long
  |  | 3188|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_LONG
  |  | 3189|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_LONG
  |  | 3190|       |#elif (ACC_SIZEOF_ACC_INT64L_T >= ACC_SIZEOF_VOID_P)
  |  | 3191|       |#  define acc_intptr_t              acc_int64l_t
  |  | 3192|       |#  define acc_uintptr_t             acc_uint64l_t
  |  | 3193|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 3194|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 3195|       |#else
  |  | 3196|       |#  error "acc_intptr_t"
  |  | 3197|       |#endif
  |  | 3198|       |#endif
  |  | 3199|       |#if 1
  |  | 3200|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_intptr_t) >= sizeof(void *))
  |  | 3201|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
  |  | 3202|       |#endif
  |  | 3203|       |#if !defined(acc_word_t)
  |  | 3204|       |#if defined(ACC_WORDSIZE) && (ACC_WORDSIZE+0 > 0)
  |  | 3205|       |#if (ACC_WORDSIZE == ACC_SIZEOF_ACC_INTPTR_T) && !(__ACC_INTPTR_T_IS_POINTER)
  |  | 3206|       |#  define acc_word_t                acc_uintptr_t
  |  | 3207|       |#  define acc_sword_t               acc_intptr_t
  |  | 3208|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INTPTR_T
  |  | 3209|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_ACC_INTPTR_T
  |  | 3210|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_LONG)
  |  | 3211|       |#  define acc_word_t                unsigned long
  |  | 3212|       |#  define acc_sword_t               long
  |  | 3213|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_LONG
  |  | 3214|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_LONG
  |  | 3215|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_INT)
  |  | 3216|       |#  define acc_word_t                unsigned int
  |  | 3217|       |#  define acc_sword_t               int
  |  | 3218|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_INT
  |  | 3219|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_INT
  |  | 3220|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_SHORT)
  |  | 3221|       |#  define acc_word_t                unsigned short
  |  | 3222|       |#  define acc_sword_t               short
  |  | 3223|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_SHORT
  |  | 3224|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_SHORT
  |  | 3225|       |#elif (ACC_WORDSIZE == 1)
  |  | 3226|       |#  define acc_word_t                unsigned char
  |  | 3227|       |#  define acc_sword_t               signed char
  |  | 3228|       |#  define ACC_SIZEOF_ACC_WORD_T     1
  |  | 3229|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_CHAR
  |  | 3230|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_ACC_INT64L_T)
  |  | 3231|       |#  define acc_word_t                acc_uint64l_t
  |  | 3232|       |#  define acc_sword_t               acc_int64l_t
  |  | 3233|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INT64L_T
  |  | 3234|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INT64L_T
  |  | 3235|       |#elif (ACC_ARCH_SPU) && (ACC_CC_GNUC)
  |  | 3236|       |#if 0
  |  | 3237|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3238|       |   typedef unsigned acc_word_t  __attribute__((__mode__(__V16QI__)));
  |  | 3239|       |   typedef int      acc_sword_t __attribute__((__mode__(__V16QI__)));
  |  | 3240|       |#  endif
  |  | 3241|       |#  define acc_word_t                acc_word_t
  |  | 3242|       |#  define acc_sword_t               acc_sword_t
  |  | 3243|       |#  define ACC_SIZEOF_ACC_WORD_T     16
  |  | 3244|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF___MODE_V16QI
  |  | 3245|       |#endif
  |  | 3246|       |#else
  |  | 3247|       |#  error "acc_word_t"
  |  | 3248|       |#endif
  |  | 3249|       |#endif
  |  | 3250|       |#endif
  |  | 3251|       |#if 1 && defined(acc_word_t)
  |  | 3252|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_word_t)  == ACC_WORDSIZE)
  |  | 3253|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_sword_t) == ACC_WORDSIZE)
  |  | 3254|       |#endif
  |  | 3255|       |#if 1
  |  | 3256|       |#define acc_int8_t                  signed char
  |  | 3257|       |#define acc_uint8_t                 unsigned char
  |  | 3258|       |#define ACC_SIZEOF_ACC_INT8_T       1
  |  | 3259|       |#define ACC_TYPEOF_ACC_INT8_T       ACC_TYPEOF_CHAR
  |  | 3260|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int8_t) == 1)
  |  | 3261|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int8_t) == sizeof(acc_uint8_t))
  |  | 3262|       |#endif
  |  | 3263|       |#if defined(acc_int16e_t)
  |  | 3264|       |#define acc_int16_t                 acc_int16e_t
  |  | 3265|       |#define acc_uint16_t                acc_uint16e_t
  |  | 3266|       |#define ACC_SIZEOF_ACC_INT16_T      ACC_SIZEOF_ACC_INT16E_T
  |  | 3267|       |#define ACC_TYPEOF_ACC_INT16_T      ACC_TYPEOF_ACC_INT16E_T
  |  | 3268|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16_t) == 2)
  |  | 3269|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16_t) == sizeof(acc_uint16_t))
  |  | 3270|       |#endif
  |  | 3271|       |#if defined(acc_int32e_t)
  |  | 3272|       |#define acc_int32_t                 acc_int32e_t
  |  | 3273|       |#define acc_uint32_t                acc_uint32e_t
  |  | 3274|       |#define ACC_SIZEOF_ACC_INT32_T      ACC_SIZEOF_ACC_INT32E_T
  |  | 3275|       |#define ACC_TYPEOF_ACC_INT32_T      ACC_TYPEOF_ACC_INT32E_T
  |  | 3276|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32_t) == 4)
  |  | 3277|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32_t) == sizeof(acc_uint32_t))
  |  | 3278|       |#endif
  |  | 3279|       |#if defined(acc_int64e_t)
  |  | 3280|       |#define acc_int64_t                 acc_int64e_t
  |  | 3281|       |#define acc_uint64_t                acc_uint64e_t
  |  | 3282|       |#define ACC_SIZEOF_ACC_INT64_T      ACC_SIZEOF_ACC_INT64E_T
  |  | 3283|       |#define ACC_TYPEOF_ACC_INT64_T      ACC_TYPEOF_ACC_INT64E_T
  |  | 3284|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64_t) == 8)
  |  | 3285|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64_t) == sizeof(acc_uint64_t))
  |  | 3286|       |#endif
  |  | 3287|       |#if 1
  |  | 3288|       |#define acc_int_least32_t           acc_int32l_t
  |  | 3289|       |#define acc_uint_least32_t          acc_uint32l_t
  |  | 3290|       |#define ACC_SIZEOF_ACC_INT_LEAST32_T ACC_SIZEOF_ACC_INT32L_T
  |  | 3291|       |#define ACC_TYPEOF_ACC_INT_LEAST32_T ACC_TYPEOF_ACC_INT32L_T
  |  | 3292|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least32_t) >= 4)
  |  | 3293|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least32_t) == sizeof(acc_uint_least32_t))
  |  | 3294|       |#endif
  |  | 3295|       |#if defined(acc_int64l_t)
  |  | 3296|       |#define acc_int_least64_t           acc_int64l_t
  |  | 3297|       |#define acc_uint_least64_t          acc_uint64l_t
  |  | 3298|       |#define ACC_SIZEOF_ACC_INT_LEAST64_T ACC_SIZEOF_ACC_INT64L_T
  |  | 3299|       |#define ACC_TYPEOF_ACC_INT_LEAST64_T ACC_TYPEOF_ACC_INT64L_T
  |  | 3300|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least64_t) >= 8)
  |  | 3301|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least64_t) == sizeof(acc_uint_least64_t))
  |  | 3302|       |#endif
  |  | 3303|       |#if 1
  |  | 3304|       |#define acc_int_fast32_t           acc_int32f_t
  |  | 3305|       |#define acc_uint_fast32_t          acc_uint32f_t
  |  | 3306|       |#define ACC_SIZEOF_ACC_INT_FAST32_T ACC_SIZEOF_ACC_INT32F_T
  |  | 3307|       |#define ACC_TYPEOF_ACC_INT_FAST32_T ACC_TYPEOF_ACC_INT32F_T
  |  | 3308|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast32_t) >= 4)
  |  | 3309|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast32_t) == sizeof(acc_uint_fast32_t))
  |  | 3310|       |#endif
  |  | 3311|       |#if defined(acc_int64f_t)
  |  | 3312|       |#define acc_int_fast64_t           acc_int64f_t
  |  | 3313|       |#define acc_uint_fast64_t          acc_uint64f_t
  |  | 3314|       |#define ACC_SIZEOF_ACC_INT_FAST64_T ACC_SIZEOF_ACC_INT64F_T
  |  | 3315|       |#define ACC_TYPEOF_ACC_INT_FAST64_T ACC_TYPEOF_ACC_INT64F_T
  |  | 3316|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) >= 8)
  |  | 3317|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) == sizeof(acc_uint_fast64_t))
  |  | 3318|       |#endif
  |  | 3319|       |#if !defined(ACC_INT16_C)
  |  | 3320|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 2)
  |  | 3321|       |#    define ACC_INT16_C(c)          ((c) + 0)
  |  | 3322|       |#    define ACC_UINT16_C(c)         ((c) + 0U)
  |  | 3323|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 2)
  |  | 3324|       |#    define ACC_INT16_C(c)          ((c) + 0L)
  |  | 3325|       |#    define ACC_UINT16_C(c)         ((c) + 0UL)
  |  | 3326|       |#  elif (ACC_SIZEOF_INT >= 2)
  |  | 3327|       |#    define ACC_INT16_C(c)          (c)
  |  | 3328|       |#    define ACC_UINT16_C(c)         (c##U)
  |  | 3329|       |#  elif (ACC_SIZEOF_LONG >= 2)
  |  | 3330|       |#    define ACC_INT16_C(c)          (c##L)
  |  | 3331|       |#    define ACC_UINT16_C(c)         (c##UL)
  |  | 3332|       |#  else
  |  | 3333|       |#    error "ACC_INT16_C"
  |  | 3334|       |#  endif
  |  | 3335|       |#endif
  |  | 3336|       |#if !defined(ACC_INT32_C)
  |  | 3337|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 4)
  |  | 3338|       |#    define ACC_INT32_C(c)          ((c) + 0)
  |  | 3339|       |#    define ACC_UINT32_C(c)         ((c) + 0U)
  |  | 3340|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 4)
  |  | 3341|       |#    define ACC_INT32_C(c)          ((c) + 0L)
  |  | 3342|       |#    define ACC_UINT32_C(c)         ((c) + 0UL)
  |  | 3343|       |#  elif (ACC_SIZEOF_INT >= 4)
  |  | 3344|       |#    define ACC_INT32_C(c)          (c)
  |  | 3345|       |#    define ACC_UINT32_C(c)         (c##U)
  |  | 3346|       |#  elif (ACC_SIZEOF_LONG >= 4)
  |  | 3347|       |#    define ACC_INT32_C(c)          (c##L)
  |  | 3348|       |#    define ACC_UINT32_C(c)         (c##UL)
  |  | 3349|       |#  elif (ACC_SIZEOF_LONG_LONG >= 4)
  |  | 3350|       |#    define ACC_INT32_C(c)          (c##LL)
  |  | 3351|       |#    define ACC_UINT32_C(c)         (c##ULL)
  |  | 3352|       |#  else
  |  | 3353|       |#    error "ACC_INT32_C"
  |  | 3354|       |#  endif
  |  | 3355|       |#endif
  |  | 3356|       |#if !defined(ACC_INT64_C) && defined(acc_int64l_t)
  |  | 3357|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 8)
  |  | 3358|       |#    define ACC_INT64_C(c)          ((c) + 0)
  |  | 3359|       |#    define ACC_UINT64_C(c)         ((c) + 0U)
  |  | 3360|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 8)
  |  | 3361|       |#    define ACC_INT64_C(c)          ((c) + 0L)
  |  | 3362|       |#    define ACC_UINT64_C(c)         ((c) + 0UL)
  |  | 3363|       |#  elif (ACC_SIZEOF_INT >= 8)
  |  | 3364|       |#    define ACC_INT64_C(c)          (c)
  |  | 3365|       |#    define ACC_UINT64_C(c)         (c##U)
  |  | 3366|       |#  elif (ACC_SIZEOF_LONG >= 8)
  |  | 3367|       |#    define ACC_INT64_C(c)          (c##L)
  |  | 3368|       |#    define ACC_UINT64_C(c)         (c##UL)
  |  | 3369|       |#  else
  |  | 3370|       |#    error "ACC_INT64_C"
  |  | 3371|       |#  endif
  |  | 3372|       |#endif
  |  | 3373|       |#endif
  |  | 3374|       |#if (ACC_CFG_NO_CONFIG_HEADER)
  |  | 3375|       |#elif defined(ACC_CFG_CONFIG_HEADER)
  |  | 3376|       |#else
  |  | 3377|       |#if !(ACC_CFG_AUTO_NO_HEADERS)
  |  | 3378|       |#if (ACC_LIBC_NAKED)
  |  | 3379|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 3380|       |#  define HAVE_LIMITS_H 1
  |  | 3381|       |#  define HAVE_STDARG_H 1
  |  | 3382|       |#  define HAVE_STDDEF_H 1
  |  | 3383|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 3384|       |#  define HAVE_LIMITS_H 1
  |  | 3385|       |#  ifndef HAVE_SETJMP_H
  |  | 3386|       |#  define HAVE_SETJMP_H 1
  |  | 3387|       |#  endif
  |  | 3388|       |#  define HAVE_STDARG_H 1
  |  | 3389|       |#  define HAVE_STDDEF_H 1
  |  | 3390|       |#  define HAVE_STDIO_H 1
  |  | 3391|       |#  define HAVE_STRING_H 1
  |  | 3392|       |#else
  |  | 3393|       |#define STDC_HEADERS 1
  |  | 3394|       |#define HAVE_ASSERT_H 1
  |  | 3395|       |#define HAVE_CTYPE_H 1
  |  | 3396|       |#define HAVE_DIRENT_H 1
  |  | 3397|       |#define HAVE_ERRNO_H 1
  |  | 3398|       |#define HAVE_FCNTL_H 1
  |  | 3399|       |#define HAVE_FLOAT_H 1
  |  | 3400|       |#define HAVE_LIMITS_H 1
  |  | 3401|       |#define HAVE_MALLOC_H 1
  |  | 3402|       |#define HAVE_MEMORY_H 1
  |  | 3403|       |#ifndef HAVE_SETJMP_H
  |  | 3404|       |#define HAVE_SETJMP_H 1
  |  | 3405|       |#endif
  |  | 3406|       |#ifndef HAVE_SIGNAL_H
  |  | 3407|       |#define HAVE_SIGNAL_H 1
  |  | 3408|       |#endif
  |  | 3409|       |#define HAVE_STDARG_H 1
  |  | 3410|       |#define HAVE_STDDEF_H 1
  |  | 3411|       |#define HAVE_STDIO_H 1
  |  | 3412|       |#define HAVE_STDLIB_H 1
  |  | 3413|       |#define HAVE_STRING_H 1
  |  | 3414|       |#define HAVE_TIME_H 1
  |  | 3415|       |#define HAVE_UNISTD_H 1
  |  | 3416|       |#define HAVE_UTIME_H 1
  |  | 3417|       |#define HAVE_SYS_STAT_H 1
  |  | 3418|       |#define HAVE_SYS_TIME_H 1
  |  | 3419|       |#define HAVE_SYS_TYPES_H 1
  |  | 3420|       |#if (ACC_OS_POSIX)
  |  | 3421|       |#  if (ACC_OS_POSIX_AIX)
  |  | 3422|       |#    define HAVE_SYS_RESOURCE_H 1
  |  | 3423|       |#  elif (ACC_OS_POSIX_DARWIN || ACC_OS_POSIX_DRAGONFLY || ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_NETBSD || ACC_OS_POSIX_OPENBSD)
  |  | 3424|       |#    define HAVE_STRINGS_H 1
  |  | 3425|       |#    undef HAVE_MALLOC_H
  |  | 3426|       |#  elif (ACC_OS_POSIX_HPUX || ACC_OS_POSIX_INTERIX)
  |  | 3427|       |#    define HAVE_ALLOCA_H 1
  |  | 3428|       |#  elif (ACC_OS_POSIX_DARWIN && ACC_LIBC_MSL)
  |  | 3429|       |#    undef HAVE_SYS_TIME_H
  |  | 3430|       |#    undef HAVE_SYS_TYPES_H
  |  | 3431|       |#  elif (ACC_OS_POSIX_SOLARIS || ACC_OS_POSIX_SUNOS)
  |  | 3432|       |#    define HAVE_ALLOCA_H 1
  |  | 3433|       |#  endif
  |  | 3434|       |#  if (ACC_LIBC_DIETLIBC || ACC_LIBC_GLIBC || ACC_LIBC_UCLIBC)
  |  | 3435|       |#    define HAVE_STRINGS_H 1
  |  | 3436|       |#    define HAVE_SYS_MMAN_H 1
  |  | 3437|       |#    define HAVE_SYS_RESOURCE_H 1
  |  | 3438|       |#    define HAVE_SYS_WAIT_H 1
  |  | 3439|       |#  endif
  |  | 3440|       |#  if (ACC_LIBC_NEWLIB)
  |  | 3441|       |#    undef HAVE_STRINGS_H
  |  | 3442|       |#  endif
  |  | 3443|       |#elif (ACC_OS_CYGWIN)
  |  | 3444|       |#  define HAVE_IO_H 1
  |  | 3445|       |#elif (ACC_OS_EMX)
  |  | 3446|       |#  define HAVE_ALLOCA_H 1
  |  | 3447|       |#  define HAVE_IO_H 1
  |  | 3448|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
  |  | 3449|       |#  if !defined(__MINT__)
  |  | 3450|       |#    undef HAVE_MALLOC_H
  |  | 3451|       |#  endif
  |  | 3452|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 3453|       |#  undef HAVE_DIRENT_H
  |  | 3454|       |#  undef HAVE_FCNTL_H
  |  | 3455|       |#  undef HAVE_MALLOC_H
  |  | 3456|       |#  undef HAVE_MEMORY_H
  |  | 3457|       |#  undef HAVE_UNISTD_H
  |  | 3458|       |#  undef HAVE_UTIME_H
  |  | 3459|       |#  undef HAVE_SYS_STAT_H
  |  | 3460|       |#  undef HAVE_SYS_TIME_H
  |  | 3461|       |#  undef HAVE_SYS_TYPES_H
  |  | 3462|       |#endif
  |  | 3463|       |#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 3464|       |#define HAVE_CONIO_H 1
  |  | 3465|       |#define HAVE_DIRECT_H 1
  |  | 3466|       |#define HAVE_DOS_H 1
  |  | 3467|       |#define HAVE_IO_H 1
  |  | 3468|       |#define HAVE_SHARE_H 1
  |  | 3469|       |#if (ACC_CC_AZTECC)
  |  | 3470|       |#  undef HAVE_CONIO_H
  |  | 3471|       |#  undef HAVE_DIRECT_H
  |  | 3472|       |#  undef HAVE_DIRENT_H
  |  | 3473|       |#  undef HAVE_MALLOC_H
  |  | 3474|       |#  undef HAVE_SHARE_H
  |  | 3475|       |#  undef HAVE_UNISTD_H
  |  | 3476|       |#  undef HAVE_UTIME_H
  |  | 3477|       |#  undef HAVE_SYS_STAT_H
  |  | 3478|       |#  undef HAVE_SYS_TIME_H
  |  | 3479|       |#  undef HAVE_SYS_TYPES_H
  |  | 3480|       |#elif (ACC_CC_BORLANDC)
  |  | 3481|       |#  undef HAVE_UNISTD_H
  |  | 3482|       |#  undef HAVE_SYS_TIME_H
  |  | 3483|       |#  if (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 3484|       |#    undef HAVE_DIRENT_H
  |  | 3485|       |#  endif
  |  | 3486|       |#  if (__BORLANDC__ < 0x0400)
  |  | 3487|       |#    undef HAVE_DIRENT_H
  |  | 3488|       |#    undef HAVE_UTIME_H
  |  | 3489|       |#  endif
  |  | 3490|       |#elif (ACC_CC_DMC)
  |  | 3491|       |#  undef HAVE_DIRENT_H
  |  | 3492|       |#  undef HAVE_UNISTD_H
  |  | 3493|       |#  define HAVE_SYS_DIRENT_H 1
  |  | 3494|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 3495|       |#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
  |  | 3496|       |#  define HAVE_ALLOCA_H 1
  |  | 3497|       |#  undef HAVE_DIRENT_H
  |  | 3498|       |#  undef HAVE_UNISTD_H
  |  | 3499|       |#elif (ACC_CC_IBMC && ACC_OS_OS2)
  |  | 3500|       |#  undef HAVE_DOS_H
  |  | 3501|       |#  undef HAVE_DIRENT_H
  |  | 3502|       |#  undef HAVE_UNISTD_H
  |  | 3503|       |#  undef HAVE_UTIME_H
  |  | 3504|       |#  undef HAVE_SYS_TIME_H
  |  | 3505|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3506|       |#elif (ACC_CC_CLANG_C2 || ACC_CC_CLANG_MSC || ACC_CC_GHS || ACC_CC_INTELC_MSC || ACC_CC_MSC)
  |  | 3507|       |#  undef HAVE_DIRENT_H
  |  | 3508|       |#  undef HAVE_UNISTD_H
  |  | 3509|       |#  undef HAVE_UTIME_H
  |  | 3510|       |#  undef HAVE_SYS_TIME_H
  |  | 3511|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3512|       |#elif (ACC_CC_LCCWIN32)
  |  | 3513|       |#  undef HAVE_DIRENT_H
  |  | 3514|       |#  undef HAVE_DOS_H
  |  | 3515|       |#  undef HAVE_UNISTD_H
  |  | 3516|       |#  undef HAVE_SYS_TIME_H
  |  | 3517|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__MINGW32__)
  |  | 3518|       |#  undef HAVE_UTIME_H
  |  | 3519|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3520|       |#elif (ACC_OS_WIN32 && ACC_LIBC_MSL)
  |  | 3521|       |#  define HAVE_ALLOCA_H 1
  |  | 3522|       |#  undef HAVE_DOS_H
  |  | 3523|       |#  undef HAVE_SHARE_H
  |  | 3524|       |#  undef HAVE_SYS_TIME_H
  |  | 3525|       |#elif (ACC_CC_NDPC)
  |  | 3526|       |#  undef HAVE_DIRENT_H
  |  | 3527|       |#  undef HAVE_DOS_H
  |  | 3528|       |#  undef HAVE_UNISTD_H
  |  | 3529|       |#  undef HAVE_UTIME_H
  |  | 3530|       |#  undef HAVE_SYS_TIME_H
  |  | 3531|       |#elif (ACC_CC_PACIFICC)
  |  | 3532|       |#  undef HAVE_DIRECT_H
  |  | 3533|       |#  undef HAVE_DIRENT_H
  |  | 3534|       |#  undef HAVE_FCNTL_H
  |  | 3535|       |#  undef HAVE_IO_H
  |  | 3536|       |#  undef HAVE_MALLOC_H
  |  | 3537|       |#  undef HAVE_MEMORY_H
  |  | 3538|       |#  undef HAVE_SHARE_H
  |  | 3539|       |#  undef HAVE_UNISTD_H
  |  | 3540|       |#  undef HAVE_UTIME_H
  |  | 3541|       |#  undef HAVE_SYS_STAT_H
  |  | 3542|       |#  undef HAVE_SYS_TIME_H
  |  | 3543|       |#  undef HAVE_SYS_TYPES_H
  |  | 3544|       |#elif (ACC_OS_WIN32 && ACC_CC_PELLESC)
  |  | 3545|       |#  undef HAVE_DIRENT_H
  |  | 3546|       |#  undef HAVE_DOS_H
  |  | 3547|       |#  undef HAVE_MALLOC_H
  |  | 3548|       |#  undef HAVE_SHARE_H
  |  | 3549|       |#  undef HAVE_UNISTD_H
  |  | 3550|       |#  undef HAVE_UTIME_H
  |  | 3551|       |#  undef HAVE_SYS_TIME_H
  |  | 3552|       |#  if (__POCC__ < 280)
  |  | 3553|       |#  else
  |  | 3554|       |#    define HAVE_SYS_UTIME_H 1
  |  | 3555|       |#  endif
  |  | 3556|       |#elif (ACC_OS_WIN32 && ACC_CC_PGI) && defined(__MINGW32__)
  |  | 3557|       |#  undef HAVE_UTIME_H
  |  | 3558|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3559|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 3560|       |#elif (ACC_CC_SYMANTECC)
  |  | 3561|       |#  undef HAVE_DIRENT_H
  |  | 3562|       |#  undef HAVE_UNISTD_H
  |  | 3563|       |#  if (__SC__ < 0x700)
  |  | 3564|       |#    undef HAVE_UTIME_H
  |  | 3565|       |#    undef HAVE_SYS_TIME_H
  |  | 3566|       |#  endif
  |  | 3567|       |#elif (ACC_CC_TOPSPEEDC)
  |  | 3568|       |#  undef HAVE_DIRENT_H
  |  | 3569|       |#  undef HAVE_UNISTD_H
  |  | 3570|       |#  undef HAVE_UTIME_H
  |  | 3571|       |#  undef HAVE_SYS_STAT_H
  |  | 3572|       |#  undef HAVE_SYS_TIME_H
  |  | 3573|       |#  undef HAVE_SYS_TYPES_H
  |  | 3574|       |#elif (ACC_CC_TURBOC)
  |  | 3575|       |#  undef HAVE_UNISTD_H
  |  | 3576|       |#  undef HAVE_SYS_TIME_H
  |  | 3577|       |#  undef HAVE_SYS_TYPES_H
  |  | 3578|       |#  if (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 3579|       |#    undef HAVE_DIRENT_H
  |  | 3580|       |#  endif
  |  | 3581|       |#  if (__TURBOC__ < 0x0200)
  |  | 3582|       |#    undef HAVE_SIGNAL_H
  |  | 3583|       |#  endif
  |  | 3584|       |#  if (__TURBOC__ < 0x0400)
  |  | 3585|       |#    undef HAVE_DIRECT_H
  |  | 3586|       |#    undef HAVE_DIRENT_H
  |  | 3587|       |#    undef HAVE_MALLOC_H
  |  | 3588|       |#    undef HAVE_MEMORY_H
  |  | 3589|       |#    undef HAVE_UTIME_H
  |  | 3590|       |#  endif
  |  | 3591|       |#elif (ACC_CC_WATCOMC)
  |  | 3592|       |#  undef HAVE_DIRENT_H
  |  | 3593|       |#  undef HAVE_UTIME_H
  |  | 3594|       |#  undef HAVE_SYS_TIME_H
  |  | 3595|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3596|       |#  if (__WATCOMC__ < 950)
  |  | 3597|       |#    undef HAVE_UNISTD_H
  |  | 3598|       |#  endif
  |  | 3599|       |#elif (ACC_CC_ZORTECHC)
  |  | 3600|       |#  undef HAVE_DIRENT_H
  |  | 3601|       |#  undef HAVE_MEMORY_H
  |  | 3602|       |#  undef HAVE_UNISTD_H
  |  | 3603|       |#  undef HAVE_UTIME_H
  |  | 3604|       |#  undef HAVE_SYS_TIME_H
  |  | 3605|       |#endif
  |  | 3606|       |#endif
  |  | 3607|       |#if (ACC_OS_CONSOLE)
  |  | 3608|       |#  undef HAVE_DIRENT_H
  |  | 3609|       |#endif
  |  | 3610|       |#if (ACC_OS_EMBEDDED)
  |  | 3611|       |#  undef HAVE_DIRENT_H
  |  | 3612|       |#endif
  |  | 3613|       |#if (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99)
  |  | 3614|       |#  undef HAVE_DIRENT_H
  |  | 3615|       |#  undef HAVE_FCNTL_H
  |  | 3616|       |#  undef HAVE_MALLOC_H
  |  | 3617|       |#  undef HAVE_UNISTD_H
  |  | 3618|       |#  undef HAVE_UTIME_H
  |  | 3619|       |#  undef HAVE_SYS_STAT_H
  |  | 3620|       |#  undef HAVE_SYS_TIME_H
  |  | 3621|       |#  undef HAVE_SYS_TYPES_H
  |  | 3622|       |#endif
  |  | 3623|       |#if (ACC_LIBC_GLIBC >= 0x020100ul)
  |  | 3624|       |#  define HAVE_STDINT_H 1
  |  | 3625|       |#elif (ACC_LIBC_DIETLIBC)
  |  | 3626|       |#  undef HAVE_STDINT_H
  |  | 3627|       |#elif (ACC_LIBC_UCLIBC)
  |  | 3628|       |#  define HAVE_STDINT_H 1
  |  | 3629|       |#elif (ACC_CC_BORLANDC) && (__BORLANDC__ >= 0x560)
  |  | 3630|       |#  undef HAVE_STDINT_H
  |  | 3631|       |#elif (ACC_CC_DMC) && (__DMC__ >= 0x825)
  |  | 3632|       |#  define HAVE_STDINT_H 1
  |  | 3633|       |#endif
  |  | 3634|       |#if (HAVE_SYS_TIME_H && HAVE_TIME_H)
  |  | 3635|       |#  define TIME_WITH_SYS_TIME 1
  |  | 3636|       |#endif
  |  | 3637|       |#endif
  |  | 3638|       |#endif
  |  | 3639|       |#if !(ACC_CFG_AUTO_NO_FUNCTIONS)
  |  | 3640|       |#if (ACC_LIBC_NAKED)
  |  | 3641|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 3642|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 3643|       |#  define HAVE_LONGJMP 1
  |  | 3644|       |#  define HAVE_MEMCMP 1
  |  | 3645|       |#  define HAVE_MEMCPY 1
  |  | 3646|       |#  define HAVE_MEMMOVE 1
  |  | 3647|       |#  define HAVE_MEMSET 1
  |  | 3648|       |#  define HAVE_SETJMP 1
  |  | 3649|       |#else
  |  | 3650|       |#ifndef HAVE_ACCESS
  |  | 3651|       |#define HAVE_ACCESS 1
  |  | 3652|       |#endif
  |  | 3653|       |#ifndef HAVE_ALLOCA
  |  | 3654|       |#define HAVE_ALLOCA 1
  |  | 3655|       |#endif
  |  | 3656|       |#ifndef HAVE_ATEXIT
  |  | 3657|       |#define HAVE_ATEXIT 1
  |  | 3658|       |#endif
  |  | 3659|       |#define HAVE_ATOI 1
  |  | 3660|       |#define HAVE_ATOL 1
  |  | 3661|       |#ifndef HAVE_CHMOD
  |  | 3662|       |#define HAVE_CHMOD 1
  |  | 3663|       |#endif
  |  | 3664|       |#ifndef HAVE_CHOWN
  |  | 3665|       |#define HAVE_CHOWN 1
  |  | 3666|       |#endif
  |  | 3667|       |#define HAVE_CTIME 1
  |  | 3668|       |#define HAVE_DIFFTIME 1
  |  | 3669|       |#define HAVE_FILENO 1
  |  | 3670|       |#define HAVE_FSTAT 1
  |  | 3671|       |#define HAVE_GETENV 1
  |  | 3672|       |#define HAVE_GETTIMEOFDAY 1
  |  | 3673|       |#define HAVE_GMTIME 1
  |  | 3674|       |#define HAVE_ISATTY 1
  |  | 3675|       |#define HAVE_LOCALTIME 1
  |  | 3676|       |#ifndef HAVE_LONGJMP
  |  | 3677|       |#define HAVE_LONGJMP 1
  |  | 3678|       |#endif
  |  | 3679|       |#define HAVE_LSTAT 1
  |  | 3680|       |#define HAVE_MEMCMP 1
  |  | 3681|       |#define HAVE_MEMCPY 1
  |  | 3682|       |#define HAVE_MEMMOVE 1
  |  | 3683|       |#define HAVE_MEMSET 1
  |  | 3684|       |#define HAVE_MKDIR 1
  |  | 3685|       |#define HAVE_MKTIME 1
  |  | 3686|       |#define HAVE_QSORT 1
  |  | 3687|       |#ifndef HAVE_RAISE
  |  | 3688|       |#define HAVE_RAISE 1
  |  | 3689|       |#endif
  |  | 3690|       |#define HAVE_RMDIR 1
  |  | 3691|       |#ifndef HAVE_SETJMP
  |  | 3692|       |#define HAVE_SETJMP 1
  |  | 3693|       |#endif
  |  | 3694|       |#ifndef HAVE_SIGNAL
  |  | 3695|       |#define HAVE_SIGNAL 1
  |  | 3696|       |#endif
  |  | 3697|       |#define HAVE_SNPRINTF 1
  |  | 3698|       |#define HAVE_STAT 1
  |  | 3699|       |#define HAVE_STRCHR 1
  |  | 3700|       |#define HAVE_STRDUP 1
  |  | 3701|       |#define HAVE_STRERROR 1
  |  | 3702|       |#define HAVE_STRFTIME 1
  |  | 3703|       |#define HAVE_STRRCHR 1
  |  | 3704|       |#define HAVE_STRSTR 1
  |  | 3705|       |#define HAVE_TIME 1
  |  | 3706|       |#define HAVE_UMASK 1
  |  | 3707|       |#define HAVE_UTIME 1
  |  | 3708|       |#define HAVE_VSNPRINTF 1
  |  | 3709|       |#if (ACC_OS_BEOS || ACC_OS_CYGWIN || ACC_OS_POSIX || ACC_OS_QNX || ACC_OS_VMS)
  |  | 3710|       |#  define HAVE_STRCASECMP 1
  |  | 3711|       |#  define HAVE_STRNCASECMP 1
  |  | 3712|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 3713|       |#  define HAVE_STRCASECMP 1
  |  | 3714|       |#  define HAVE_STRNCASECMP 1
  |  | 3715|       |#else
  |  | 3716|       |#  define HAVE_STRICMP 1
  |  | 3717|       |#  define HAVE_STRNICMP 1
  |  | 3718|       |#endif
  |  | 3719|       |#if (ACC_OS_POSIX)
  |  | 3720|       |#  if (ACC_OS_POSIX_AIX)
  |  | 3721|       |#    define HAVE_GETRUSAGE 1
  |  | 3722|       |#  elif (ACC_OS_POSIX_DARWIN && ACC_LIBC_MSL)
  |  | 3723|       |#    undef HAVE_CHOWN
  |  | 3724|       |#    undef HAVE_LSTAT
  |  | 3725|       |#  elif (ACC_OS_POSIX_UNICOS)
  |  | 3726|       |#    undef HAVE_ALLOCA
  |  | 3727|       |#    undef HAVE_SNPRINTF
  |  | 3728|       |#    undef HAVE_VSNPRINTF
  |  | 3729|       |#  endif
  |  | 3730|       |#  if (ACC_CC_TINYC)
  |  | 3731|       |#    undef HAVE_ALLOCA
  |  | 3732|       |#  endif
  |  | 3733|       |#  if (ACC_LIBC_DIETLIBC || ACC_LIBC_GLIBC || ACC_LIBC_UCLIBC)
  |  | 3734|       |#    define HAVE_GETRUSAGE 1
  |  | 3735|       |#    define HAVE_GETPAGESIZE 1
  |  | 3736|       |#    define HAVE_MMAP 1
  |  | 3737|       |#    define HAVE_MPROTECT 1
  |  | 3738|       |#    define HAVE_MUNMAP 1
  |  | 3739|       |#  endif
  |  | 3740|       |#elif (ACC_OS_CYGWIN)
  |  | 3741|       |#  if (ACC_CC_GNUC < 0x025a00ul)
  |  | 3742|       |#    undef HAVE_GETTIMEOFDAY
  |  | 3743|       |#    undef HAVE_LSTAT
  |  | 3744|       |#  endif
  |  | 3745|       |#  if (ACC_CC_GNUC < 0x025f00ul)
  |  | 3746|       |#    undef HAVE_SNPRINTF
  |  | 3747|       |#    undef HAVE_VSNPRINTF
  |  | 3748|       |#  endif
  |  | 3749|       |#elif (ACC_OS_EMX)
  |  | 3750|       |#  undef HAVE_CHOWN
  |  | 3751|       |#  undef HAVE_LSTAT
  |  | 3752|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
  |  | 3753|       |#  if !defined(__MINT__)
  |  | 3754|       |#    undef HAVE_SNPRINTF
  |  | 3755|       |#    undef HAVE_VSNPRINTF
  |  | 3756|       |#  endif
  |  | 3757|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 3758|       |#  undef HAVE_ALLOCA
  |  | 3759|       |#  undef HAVE_ACCESS
  |  | 3760|       |#  undef HAVE_CHMOD
  |  | 3761|       |#  undef HAVE_CHOWN
  |  | 3762|       |#  undef HAVE_FSTAT
  |  | 3763|       |#  undef HAVE_GETTIMEOFDAY
  |  | 3764|       |#  undef HAVE_LSTAT
  |  | 3765|       |#  undef HAVE_SNPRINTF
  |  | 3766|       |#  undef HAVE_UMASK
  |  | 3767|       |#  undef HAVE_UTIME
  |  | 3768|       |#  undef HAVE_VSNPRINTF
  |  | 3769|       |#endif
  |  | 3770|       |#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 3771|       |#undef HAVE_CHOWN
  |  | 3772|       |#undef HAVE_GETTIMEOFDAY
  |  | 3773|       |#undef HAVE_LSTAT
  |  | 3774|       |#undef HAVE_UMASK
  |  | 3775|       |#if (ACC_CC_AZTECC)
  |  | 3776|       |#  undef HAVE_ALLOCA
  |  | 3777|       |#  undef HAVE_DIFFTIME
  |  | 3778|       |#  undef HAVE_FSTAT
  |  | 3779|       |#  undef HAVE_STRDUP
  |  | 3780|       |#  undef HAVE_SNPRINTF
  |  | 3781|       |#  undef HAVE_UTIME
  |  | 3782|       |#  undef HAVE_VSNPRINTF
  |  | 3783|       |#elif (ACC_CC_BORLANDC)
  |  | 3784|       |#  if (__BORLANDC__ < 0x0400)
  |  | 3785|       |#    undef HAVE_ALLOCA
  |  | 3786|       |#    undef HAVE_UTIME
  |  | 3787|       |#  endif
  |  | 3788|       |#  if ((__BORLANDC__ < 0x0410) && ACC_OS_WIN16)
  |  | 3789|       |#    undef HAVE_ALLOCA
  |  | 3790|       |#  endif
  |  | 3791|       |#  if (__BORLANDC__ < 0x0550)
  |  | 3792|       |#    undef HAVE_SNPRINTF
  |  | 3793|       |#    undef HAVE_VSNPRINTF
  |  | 3794|       |#  endif
  |  | 3795|       |#elif (ACC_CC_DMC)
  |  | 3796|       |#  if (ACC_OS_WIN16)
  |  | 3797|       |#    undef HAVE_ALLOCA
  |  | 3798|       |#  endif
  |  | 3799|       |#  define snprintf _snprintf
  |  | 3800|       |#  define vsnprintf _vsnprintf
  |  | 3801|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 3802|       |#  undef HAVE_SNPRINTF
  |  | 3803|       |#  undef HAVE_VSNPRINTF
  |  | 3804|       |#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
  |  | 3805|       |#  undef HAVE_SNPRINTF
  |  | 3806|       |#  undef HAVE_VSNPRINTF
  |  | 3807|       |#elif (ACC_CC_GHS)
  |  | 3808|       |#  undef HAVE_ALLOCA
  |  | 3809|       |#  ifndef snprintf
  |  | 3810|       |#  define snprintf _snprintf
  |  | 3811|       |#  endif
  |  | 3812|       |#  ifndef vsnprintf
  |  | 3813|       |#  define vsnprintf _vsnprintf
  |  | 3814|       |#  endif
  |  | 3815|       |#elif (ACC_CC_IBMC)
  |  | 3816|       |#  undef HAVE_SNPRINTF
  |  | 3817|       |#  undef HAVE_VSNPRINTF
  |  | 3818|       |#elif (ACC_CC_CLANG_MSC || ACC_CC_INTELC_MSC)
  |  | 3819|       |#  ifndef snprintf
  |  | 3820|       |#  define snprintf _snprintf
  |  | 3821|       |#  endif
  |  | 3822|       |#  ifndef vsnprintf
  |  | 3823|       |#  define vsnprintf _vsnprintf
  |  | 3824|       |#  endif
  |  | 3825|       |#elif (ACC_CC_LCCWIN32)
  |  | 3826|       |#  define utime _utime
  |  | 3827|       |#elif (ACC_CC_CLANG_C2 || ACC_CC_MSC)
  |  | 3828|       |#  if (_MSC_VER < 600)
  |  | 3829|       |#    undef HAVE_STRFTIME
  |  | 3830|       |#  endif
  |  | 3831|       |#  if (_MSC_VER < 700)
  |  | 3832|       |#    undef HAVE_SNPRINTF
  |  | 3833|       |#    undef HAVE_VSNPRINTF
  |  | 3834|       |#  elif (_MSC_VER < 1500)
  |  | 3835|       |#    ifndef snprintf
  |  | 3836|       |#    define snprintf _snprintf
  |  | 3837|       |#    endif
  |  | 3838|       |#    ifndef vsnprintf
  |  | 3839|       |#    define vsnprintf _vsnprintf
  |  | 3840|       |#    endif
  |  | 3841|       |#  elif (_MSC_VER < 1900)
  |  | 3842|       |#    ifndef snprintf
  |  | 3843|       |#    define snprintf _snprintf
  |  | 3844|       |#    endif
  |  | 3845|       |#  endif
  |  | 3846|       |#  if ((_MSC_VER < 800) && ACC_OS_WIN16)
  |  | 3847|       |#    undef HAVE_ALLOCA
  |  | 3848|       |#  endif
  |  | 3849|       |#  if (ACC_ARCH_I086) && defined(__cplusplus)
  |  | 3850|       |#    undef HAVE_LONGJMP
  |  | 3851|       |#    undef HAVE_SETJMP
  |  | 3852|       |#  endif
  |  | 3853|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__MINGW32__)
  |  | 3854|       |#  if (ACC_CC_GNUC < 0x025f00ul)
  |  | 3855|       |#    undef HAVE_SNPRINTF
  |  | 3856|       |#    undef HAVE_VSNPRINTF
  |  | 3857|       |#  elif 0
  |  | 3858|       |#    define snprintf _snprintf
  |  | 3859|       |#    define vsnprintf _vsnprintf
  |  | 3860|       |#  endif
  |  | 3861|       |#elif (ACC_OS_WIN32 && ACC_LIBC_MSL)
  |  | 3862|       |#  if (__MSL__ < 0x8000ul)
  |  | 3863|       |#    undef HAVE_CHMOD
  |  | 3864|       |#  endif
  |  | 3865|       |#elif (ACC_CC_NDPC)
  |  | 3866|       |#  undef HAVE_ALLOCA
  |  | 3867|       |#  undef HAVE_SNPRINTF
  |  | 3868|       |#  undef HAVE_STRNICMP
  |  | 3869|       |#  undef HAVE_UTIME
  |  | 3870|       |#  undef HAVE_VSNPRINTF
  |  | 3871|       |#  if defined(__cplusplus)
  |  | 3872|       |#    undef HAVE_STAT
  |  | 3873|       |#  endif
  |  | 3874|       |#elif (ACC_CC_PACIFICC)
  |  | 3875|       |#  undef HAVE_ACCESS
  |  | 3876|       |#  undef HAVE_ALLOCA
  |  | 3877|       |#  undef HAVE_CHMOD
  |  | 3878|       |#  undef HAVE_DIFFTIME
  |  | 3879|       |#  undef HAVE_FSTAT
  |  | 3880|       |#  undef HAVE_MKTIME
  |  | 3881|       |#  undef HAVE_RAISE
  |  | 3882|       |#  undef HAVE_SNPRINTF
  |  | 3883|       |#  undef HAVE_STRFTIME
  |  | 3884|       |#  undef HAVE_UTIME
  |  | 3885|       |#  undef HAVE_VSNPRINTF
  |  | 3886|       |#elif (ACC_OS_WIN32 && ACC_CC_PELLESC)
  |  | 3887|       |#  if (__POCC__ < 280)
  |  | 3888|       |#    define alloca _alloca
  |  | 3889|       |#    undef HAVE_UTIME
  |  | 3890|       |#  endif
  |  | 3891|       |#elif (ACC_OS_WIN32 && ACC_CC_PGI) && defined(__MINGW32__)
  |  | 3892|       |#  define snprintf _snprintf
  |  | 3893|       |#  define vsnprintf _vsnprintf
  |  | 3894|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 3895|       |#  undef HAVE_SNPRINTF
  |  | 3896|       |#  undef HAVE_VSNPRINTF
  |  | 3897|       |#elif (ACC_CC_SYMANTECC)
  |  | 3898|       |#  if (ACC_OS_WIN16 && (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE))
  |  | 3899|       |#    undef HAVE_ALLOCA
  |  | 3900|       |#  endif
  |  | 3901|       |#  if (__SC__ < 0x600)
  |  | 3902|       |#    undef HAVE_SNPRINTF
  |  | 3903|       |#    undef HAVE_VSNPRINTF
  |  | 3904|       |#  else
  |  | 3905|       |#    define snprintf _snprintf
  |  | 3906|       |#    define vsnprintf _vsnprintf
  |  | 3907|       |#  endif
  |  | 3908|       |#  if (__SC__ < 0x700)
  |  | 3909|       |#    undef HAVE_DIFFTIME
  |  | 3910|       |#    undef HAVE_UTIME
  |  | 3911|       |#  endif
  |  | 3912|       |#elif (ACC_CC_TOPSPEEDC)
  |  | 3913|       |#  undef HAVE_SNPRINTF
  |  | 3914|       |#  undef HAVE_VSNPRINTF
  |  | 3915|       |#elif (ACC_CC_TURBOC)
  |  | 3916|       |#  undef HAVE_ALLOCA
  |  | 3917|       |#  undef HAVE_SNPRINTF
  |  | 3918|       |#  undef HAVE_VSNPRINTF
  |  | 3919|       |#  if (__TURBOC__ < 0x0200)
  |  | 3920|       |#    undef HAVE_RAISE
  |  | 3921|       |#    undef HAVE_SIGNAL
  |  | 3922|       |#  endif
  |  | 3923|       |#  if (__TURBOC__ < 0x0295)
  |  | 3924|       |#    undef HAVE_MKTIME
  |  | 3925|       |#    undef HAVE_STRFTIME
  |  | 3926|       |#  endif
  |  | 3927|       |#  if (__TURBOC__ < 0x0400)
  |  | 3928|       |#    undef HAVE_UTIME
  |  | 3929|       |#  endif
  |  | 3930|       |#elif (ACC_CC_WATCOMC)
  |  | 3931|       |#  if (__WATCOMC__ < 1100)
  |  | 3932|       |#    undef HAVE_SNPRINTF
  |  | 3933|       |#    undef HAVE_VSNPRINTF
  |  | 3934|       |#  elif (__WATCOMC__ < 1200)
  |  | 3935|       |#    define snprintf _snprintf
  |  | 3936|       |#    define vsnprintf _vsnprintf
  |  | 3937|       |#  endif
  |  | 3938|       |#elif (ACC_CC_ZORTECHC)
  |  | 3939|       |#  if (ACC_OS_WIN16 && (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE))
  |  | 3940|       |#    undef HAVE_ALLOCA
  |  | 3941|       |#  endif
  |  | 3942|       |#  undef HAVE_DIFFTIME
  |  | 3943|       |#  undef HAVE_SNPRINTF
  |  | 3944|       |#  undef HAVE_UTIME
  |  | 3945|       |#  undef HAVE_VSNPRINTF
  |  | 3946|       |#endif
  |  | 3947|       |#endif
  |  | 3948|       |#if (ACC_OS_CONSOLE)
  |  | 3949|       |#  undef HAVE_ACCESS
  |  | 3950|       |#  undef HAVE_CHMOD
  |  | 3951|       |#  undef HAVE_CHOWN
  |  | 3952|       |#  undef HAVE_GETTIMEOFDAY
  |  | 3953|       |#  undef HAVE_LSTAT
  |  | 3954|       |#  undef HAVE_TIME
  |  | 3955|       |#  undef HAVE_UMASK
  |  | 3956|       |#  undef HAVE_UTIME
  |  | 3957|       |#endif
  |  | 3958|       |#if (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99)
  |  | 3959|       |#  undef HAVE_ACCESS
  |  | 3960|       |#  undef HAVE_CHMOD
  |  | 3961|       |#  undef HAVE_CHOWN
  |  | 3962|       |#  undef HAVE_FILENO
  |  | 3963|       |#  undef HAVE_FSTAT
  |  | 3964|       |#  undef HAVE_GETTIMEOFDAY
  |  | 3965|       |#  undef HAVE_LSTAT
  |  | 3966|       |#  undef HAVE_STAT
  |  | 3967|       |#  undef HAVE_UMASK
  |  | 3968|       |#  undef HAVE_UTIME
  |  | 3969|       |# if 1
  |  | 3970|       |#  undef HAVE_ALLOCA
  |  | 3971|       |#  undef HAVE_ISATTY
  |  | 3972|       |#  undef HAVE_MKDIR
  |  | 3973|       |#  undef HAVE_RMDIR
  |  | 3974|       |#  undef HAVE_STRDUP
  |  | 3975|       |#  undef HAVE_STRICMP
  |  | 3976|       |#  undef HAVE_STRNICMP
  |  | 3977|       |# endif
  |  | 3978|       |#endif
  |  | 3979|       |#endif
  |  | 3980|       |#endif
  |  | 3981|       |#if !(ACC_CFG_AUTO_NO_SIZES)
  |  | 3982|       |#if !defined(SIZEOF_SHORT) && defined(ACC_SIZEOF_SHORT)
  |  | 3983|       |#  define SIZEOF_SHORT          ACC_SIZEOF_SHORT
  |  | 3984|       |#endif
  |  | 3985|       |#if !defined(SIZEOF_INT) && defined(ACC_SIZEOF_INT)
  |  | 3986|       |#  define SIZEOF_INT            ACC_SIZEOF_INT
  |  | 3987|       |#endif
  |  | 3988|       |#if !defined(SIZEOF_LONG) && defined(ACC_SIZEOF_LONG)
  |  | 3989|       |#  define SIZEOF_LONG           ACC_SIZEOF_LONG
  |  | 3990|       |#endif
  |  | 3991|       |#if !defined(SIZEOF_LONG_LONG) && defined(ACC_SIZEOF_LONG_LONG)
  |  | 3992|       |#  define SIZEOF_LONG_LONG      ACC_SIZEOF_LONG_LONG
  |  | 3993|       |#endif
  |  | 3994|       |#if !defined(SIZEOF___INT32) && defined(ACC_SIZEOF___INT32)
  |  | 3995|       |#  define SIZEOF___INT32        ACC_SIZEOF___INT32
  |  | 3996|       |#endif
  |  | 3997|       |#if !defined(SIZEOF___INT64) && defined(ACC_SIZEOF___INT64)
  |  | 3998|       |#  define SIZEOF___INT64        ACC_SIZEOF___INT64
  |  | 3999|       |#endif
  |  | 4000|       |#if !defined(SIZEOF_VOID_P) && defined(ACC_SIZEOF_VOID_P)
  |  | 4001|       |#  define SIZEOF_VOID_P         ACC_SIZEOF_VOID_P
  |  | 4002|       |#endif
  |  | 4003|       |#if !defined(SIZEOF_SIZE_T) && defined(ACC_SIZEOF_SIZE_T)
  |  | 4004|       |#  define SIZEOF_SIZE_T         ACC_SIZEOF_SIZE_T
  |  | 4005|       |#endif
  |  | 4006|       |#if !defined(SIZEOF_PTRDIFF_T) && defined(ACC_SIZEOF_PTRDIFF_T)
  |  | 4007|       |#  define SIZEOF_PTRDIFF_T      ACC_SIZEOF_PTRDIFF_T
  |  | 4008|       |#endif
  |  | 4009|       |#endif
  |  | 4010|       |#if (HAVE_SIGNAL) && !defined(RETSIGTYPE)
  |  | 4011|       |#  define RETSIGTYPE void
  |  | 4012|       |#endif
  |  | 4013|       |#endif
  |  | 4014|       |#if !(ACC_LANG_ASSEMBLER)
  |  | 4015|       |#if !(ACC_CFG_SKIP_ACC_TYPES)
  |  | 4016|       |#if 1 && !defined(acc_signo_t) && defined(__linux__) && defined(__dietlibc__) && (ACC_SIZEOF_INT != 4)
  |  | 4017|       |#  define acc_signo_t               acc_int32e_t
  |  | 4018|       |#endif
  |  | 4019|       |#if !defined(acc_signo_t)
  |  | 4020|       |#  define acc_signo_t               int
  |  | 4021|       |#endif
  |  | 4022|       |#if defined(__cplusplus)
  |  | 4023|       |extern "C" {
  |  | 4024|       |#endif
  |  | 4025|       |#if (ACC_BROKEN_CDECL_ALT_SYNTAX)
  |  | 4026|       |typedef void __acc_cdecl_sighandler (*acc_sighandler_t)(acc_signo_t);
  |  | 4027|       |#else
  |  | 4028|       |typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
  |  | 4029|       |#endif
  |  | 4030|       |#if defined(__cplusplus)
  |  | 4031|       |}
  |  | 4032|       |#endif
  |  | 4033|       |#  if !(ACC_CFG_SKIP_ACC_UA)
  |  | 4034|       |#if !defined(__acc_ua_volatile)
  |  | 4035|       |#  define __acc_ua_volatile     volatile
  |  | 4036|       |#endif
  |  | 4037|       |#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
  |  | 4038|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
  |  | 4039|       |#elif (ACC_CC_INTELC) && defined(_WIN32)
  |  | 4040|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 700))
  |  | 4041|       |#elif (ACC_CC_LLVM)
  |  | 4042|       |#elif (ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE)
  |  | 4043|       |#if !defined(__acc_ua16_t) && (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
  |  | 4044|       |   typedef struct { __acc_ua_volatile acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
  |  | 4045|       |#  define __acc_ua16_t __acc_ua16_t
  |  | 4046|       |#endif
  |  | 4047|       |#if !defined(__acc_ua32_t) && (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
  |  | 4048|       |   typedef struct { __acc_ua_volatile acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
  |  | 4049|       |#  define __acc_ua32_t __acc_ua32_t
  |  | 4050|       |#endif
  |  | 4051|       |#if !defined(__acc_ua64_t) && (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
  |  | 4052|       |   typedef struct { __acc_ua_volatile acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
  |  | 4053|       |#  define __acc_ua64_t __acc_ua64_t
  |  | 4054|       |#endif
  |  | 4055|       |#endif
  |  | 4056|       |#if (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
  |  | 4057|       |#if 0
  |  | 4058|       |#define ACC_UA_GET16(p)         (* (__acc_ua_volatile const acc_uint16e_t*) (__acc_ua_volatile const void*) (p))
  |  | 4059|       |#define ACC_UA_SET16(p,v)       ((* (__acc_ua_volatile acc_uint16e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint16e_t) (v))
  |  | 4060|       |#else
  |  | 4061|       |#define ACC_UA_GET16(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint16e_t*, __acc_ua_volatile const void*, p))
  |  | 4062|       |#define ACC_UA_SET16(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint16e_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint16e_t, v))
  |  | 4063|       |#endif
  |  | 4064|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4065|       |#  define ACC_UA_GET_BE16(p)    ACC_UA_GET16(p)
  |  | 4066|       |#  define ACC_UA_SET_BE16(p,v)  ACC_UA_SET16(p,v)
  |  | 4067|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4068|       |#  define ACC_UA_GET_LE16(p)    ACC_UA_GET16(p)
  |  | 4069|       |#  define ACC_UA_SET_LE16(p,v)  ACC_UA_SET16(p,v)
  |  | 4070|       |#endif
  |  | 4071|       |#if (__acc_HAVE_forceinline)
  |  | 4072|       |#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_ASM_SYNTAX_GNUC) && (ACC_CC_GNUC)
  |  | 4073|       |#if !defined(ACC_UA_GET_LE16)
  |  | 4074|       |__acc_static_forceinline
  |  | 4075|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4076|       |__attribute__((__unused__))
  |  | 4077|       |#endif
  |  | 4078|       |unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
  |  | 4079|       |    __acc_ua_volatile const acc_uint16e_t* p = ACC_STATIC_CAST(__acc_ua_volatile const acc_uint16e_t*, pp);
  |  | 4080|       |    unsigned long v;
  |  | 4081|       |    __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
  |  | 4082|       |    return v;
  |  | 4083|       |}
  |  | 4084|       |#define ACC_UA_GET_LE16(p)      __ACC_UA_GET_LE16(p)
  |  | 4085|       |#endif
  |  | 4086|       |#if !defined(ACC_UA_SET_LE16)
  |  | 4087|       |__acc_static_forceinline
  |  | 4088|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4089|       |__attribute__((__unused__))
  |  | 4090|       |#endif
  |  | 4091|       |void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
  |  | 4092|       |    __acc_ua_volatile acc_uint16e_t* p = ACC_STATIC_CAST(__acc_ua_volatile acc_uint16e_t*, pp);
  |  | 4093|       |    __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
  |  | 4094|       |}
  |  | 4095|       |#define ACC_UA_SET_LE16(p,v)    __ACC_UA_SET_LE16(p,v)
  |  | 4096|       |#endif
  |  | 4097|       |#endif
  |  | 4098|       |#endif
  |  | 4099|       |#if !defined(ACC_UA_COPY16)
  |  | 4100|       |#  define ACC_UA_COPY16(d,s)    ACC_UA_SET16(d, ACC_UA_GET16(s))
  |  | 4101|       |#endif
  |  | 4102|       |#endif
  |  | 4103|       |#if (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
  |  | 4104|       |#if 0
  |  | 4105|       |#define ACC_UA_GET32(p)         (* (__acc_ua_volatile const acc_uint32e_t*) (__acc_ua_volatile const void*) (p))
  |  | 4106|       |#define ACC_UA_SET32(p,v)       ((* (__acc_ua_volatile acc_uint32e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint32e_t) (v))
  |  | 4107|       |#else
  |  | 4108|       |#define ACC_UA_GET32(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint32e_t*, __acc_ua_volatile const void*, p))
  |  | 4109|       |#define ACC_UA_SET32(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint32e_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint32e_t, v))
  |  | 4110|       |#endif
  |  | 4111|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4112|       |#  define ACC_UA_GET_BE32(p)    ACC_UA_GET32(p)
  |  | 4113|       |#  define ACC_UA_SET_BE32(p,v)  ACC_UA_SET32(p,v)
  |  | 4114|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4115|       |#  define ACC_UA_GET_LE32(p)    ACC_UA_GET32(p)
  |  | 4116|       |#  define ACC_UA_SET_LE32(p,v)  ACC_UA_SET32(p,v)
  |  | 4117|       |#endif
  |  | 4118|       |#if (__acc_HAVE_forceinline)
  |  | 4119|       |#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_ASM_SYNTAX_GNUC) && (ACC_CC_GNUC)
  |  | 4120|       |#if !defined(ACC_UA_GET_LE32)
  |  | 4121|       |__acc_static_forceinline
  |  | 4122|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4123|       |__attribute__((__unused__))
  |  | 4124|       |#endif
  |  | 4125|       |unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
  |  | 4126|       |    __acc_ua_volatile const acc_uint32e_t* p = ACC_STATIC_CAST(__acc_ua_volatile const acc_uint32e_t*, pp);
  |  | 4127|       |    unsigned long v;
  |  | 4128|       |    __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
  |  | 4129|       |    return v;
  |  | 4130|       |}
  |  | 4131|       |#define ACC_UA_GET_LE32(p)      __ACC_UA_GET_LE32(p)
  |  | 4132|       |#endif
  |  | 4133|       |#if !defined(ACC_UA_SET_LE32)
  |  | 4134|       |__acc_static_forceinline
  |  | 4135|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4136|       |__attribute__((__unused__))
  |  | 4137|       |#endif
  |  | 4138|       |void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
  |  | 4139|       |    __acc_ua_volatile acc_uint32e_t* p = ACC_STATIC_CAST(__acc_ua_volatile acc_uint32e_t*, pp);
  |  | 4140|       |    __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
  |  | 4141|       |}
  |  | 4142|       |#define ACC_UA_SET_LE32(p,v)    __ACC_UA_SET_LE32(p,v)
  |  | 4143|       |#endif
  |  | 4144|       |#endif
  |  | 4145|       |#endif
  |  | 4146|       |#if !defined(ACC_UA_COPY32)
  |  | 4147|       |#  define ACC_UA_COPY32(d,s)    ACC_UA_SET32(d, ACC_UA_GET32(s))
  |  | 4148|       |#endif
  |  | 4149|       |#endif
  |  | 4150|       |#if (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
  |  | 4151|       |#if 0
  |  | 4152|       |#define ACC_UA_GET64(p)         (* (__acc_ua_volatile const acc_uint64l_t*) (__acc_ua_volatile const void*) (p))
  |  | 4153|       |#define ACC_UA_SET64(p,v)       ((* (__acc_ua_volatile acc_uint64l_t*) (__acc_ua_volatile void*) (p)) = (acc_uint64l_t) (v))
  |  | 4154|       |#else
  |  | 4155|       |#define ACC_UA_GET64(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint64l_t*, __acc_ua_volatile const void*, p))
  |  | 4156|       |#define ACC_UA_SET64(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint64l_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint64l_t, v))
  |  | 4157|       |#endif
  |  | 4158|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4159|       |#  define ACC_UA_GET_BE64(p)    ACC_UA_GET64(p)
  |  | 4160|       |#  define ACC_UA_SET_BE64(p,v)  ACC_UA_SET64(p,v)
  |  | 4161|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4162|       |#  define ACC_UA_GET_LE64(p)    ACC_UA_GET64(p)
  |  | 4163|       |#  define ACC_UA_SET_LE64(p,v)  ACC_UA_SET64(p,v)
  |  | 4164|       |#endif
  |  | 4165|       |#if !defined(ACC_UA_COPY64)
  |  | 4166|       |#  define ACC_UA_COPY64(d,s)    ACC_UA_SET64(d, ACC_UA_GET64(s))
  |  | 4167|       |#endif
  |  | 4168|       |#endif
  |  | 4169|       |#  endif
  |  | 4170|       |#endif
  |  | 4171|       |#endif
  |  | 4172|       |#endif
  |  | 4173|       |#if defined(ACC_WANT_ACC_TYPE_H)
  |  | 4174|       |#  undef ACC_WANT_ACC_TYPE_H
  |  | 4175|       |#  if (ACC_CFG_SKIP_ACC_TYPES)
  |  | 4176|       |#    error "ACC_WANT_ACC_TYPE_H with ACC_CFG_SKIP_ACC_TYPES"
  |  | 4177|       |#  endif
  |  | 4178|       |#if (!(ACC_SIZEOF_SHORT+0 > 0 && ACC_SIZEOF_INT+0 > 0 && ACC_SIZEOF_LONG+0 > 0))
  |  | 4179|       |#  error "missing defines for sizes"
  |  | 4180|       |#endif
  |  | 4181|       |#if (!(ACC_SIZEOF_PTRDIFF_T+0 > 0 && ACC_SIZEOF_SIZE_T+0 > 0 && ACC_SIZEOF_VOID_P+0 > 0))
  |  | 4182|       |#  error "missing defines for sizes"
  |  | 4183|       |#endif
  |  | 4184|       |#define ACC_TYPEOF_CHAR             1u
  |  | 4185|       |#define ACC_TYPEOF_SHORT            2u
  |  | 4186|       |#define ACC_TYPEOF_INT              3u
  |  | 4187|       |#define ACC_TYPEOF_LONG             4u
  |  | 4188|       |#define ACC_TYPEOF_LONG_LONG        5u
  |  | 4189|       |#define ACC_TYPEOF___INT8           17u
  |  | 4190|       |#define ACC_TYPEOF___INT16          18u
  |  | 4191|       |#define ACC_TYPEOF___INT32          19u
  |  | 4192|       |#define ACC_TYPEOF___INT64          20u
  |  | 4193|       |#define ACC_TYPEOF___INT128         21u
  |  | 4194|       |#define ACC_TYPEOF___INT256         22u
  |  | 4195|       |#define ACC_TYPEOF___MODE_QI        33u
  |  | 4196|       |#define ACC_TYPEOF___MODE_HI        34u
  |  | 4197|       |#define ACC_TYPEOF___MODE_SI        35u
  |  | 4198|       |#define ACC_TYPEOF___MODE_DI        36u
  |  | 4199|       |#define ACC_TYPEOF___MODE_TI        37u
  |  | 4200|       |#define ACC_TYPEOF_CHAR_P           129u
  |  | 4201|       |#if !defined(acc_llong_t)
  |  | 4202|       |#if (ACC_SIZEOF_LONG_LONG+0 > 0)
  |  | 4203|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4204|       |   __acc_gnuc_extension__ typedef long long acc_llong_t__;
  |  | 4205|       |   __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t__;
  |  | 4206|       |#  endif
  |  | 4207|       |#  define acc_llong_t               acc_llong_t__
  |  | 4208|       |#  define acc_ullong_t              acc_ullong_t__
  |  | 4209|       |#endif
  |  | 4210|       |#endif
  |  | 4211|       |#if !defined(acc_int16e_t)
  |  | 4212|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT) && (ACC_SIZEOF_SHORT != 2)
  |  | 4213|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T
  |  | 4214|       |#endif
  |  | 4215|       |#if (ACC_SIZEOF_LONG == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
  |  | 4216|       |#  define acc_int16e_t              long
  |  | 4217|       |#  define acc_uint16e_t             unsigned long
  |  | 4218|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_LONG
  |  | 4219|       |#elif (ACC_SIZEOF_INT == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
  |  | 4220|       |#  define acc_int16e_t              int
  |  | 4221|       |#  define acc_uint16e_t             unsigned int
  |  | 4222|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_INT
  |  | 4223|       |#elif (ACC_SIZEOF_SHORT == 2)
  |  | 4224|       |#  define acc_int16e_t              short int
  |  | 4225|       |#  define acc_uint16e_t             unsigned short int
  |  | 4226|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_SHORT
  |  | 4227|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_HI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM)
  |  | 4228|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4229|       |   typedef int acc_int16e_hi_t__ __attribute__((__mode__(__HI__)));
  |  | 4230|       |   typedef unsigned int acc_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
  |  | 4231|       |#  endif
  |  | 4232|       |#  define acc_int16e_t              acc_int16e_hi_t__
  |  | 4233|       |#  define acc_uint16e_t             acc_uint16e_hi_t__
  |  | 4234|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF___MODE_HI
  |  | 4235|       |#elif (ACC_SIZEOF___INT16 == 2)
  |  | 4236|       |#  define acc_int16e_t              __int16
  |  | 4237|       |#  define acc_uint16e_t             unsigned __int16
  |  | 4238|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF___INT16
  |  | 4239|       |#else
  |  | 4240|       |#endif
  |  | 4241|       |#endif
  |  | 4242|       |#if defined(acc_int16e_t)
  |  | 4243|       |#  define ACC_SIZEOF_ACC_INT16E_T   2
  |  | 4244|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == 2)
  |  | 4245|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
  |  | 4246|       |#endif
  |  | 4247|       |#if !defined(acc_int32e_t)
  |  | 4248|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT) && (ACC_SIZEOF_INT != 4)
  |  | 4249|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T
  |  | 4250|       |#endif
  |  | 4251|       |#if (ACC_SIZEOF_LONG == 4) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT)
  |  | 4252|       |#  define acc_int32e_t              long int
  |  | 4253|       |#  define acc_uint32e_t             unsigned long int
  |  | 4254|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_LONG
  |  | 4255|       |#elif (ACC_SIZEOF_INT == 4)
  |  | 4256|       |#  define acc_int32e_t              int
  |  | 4257|       |#  define acc_uint32e_t             unsigned int
  |  | 4258|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_INT
  |  | 4259|       |#elif (ACC_SIZEOF_SHORT == 4)
  |  | 4260|       |#  define acc_int32e_t              short int
  |  | 4261|       |#  define acc_uint32e_t             unsigned short int
  |  | 4262|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_SHORT
  |  | 4263|       |#elif (ACC_SIZEOF_LONG_LONG == 4)
  |  | 4264|       |#  define acc_int32e_t              acc_llong_t
  |  | 4265|       |#  define acc_uint32e_t             acc_ullong_t
  |  | 4266|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_LONG_LONG
  |  | 4267|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
  |  | 4268|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4269|       |   typedef int acc_int32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 4270|       |   typedef unsigned int acc_uint32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 4271|       |#  endif
  |  | 4272|       |#  define acc_int32e_t              acc_int32e_si_t__
  |  | 4273|       |#  define acc_uint32e_t             acc_uint32e_si_t__
  |  | 4274|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___MODE_SI
  |  | 4275|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
  |  | 4276|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4277|       |   typedef int acc_int32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 4278|       |   typedef unsigned int acc_uint32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 4279|       |#  endif
  |  | 4280|       |#  define acc_int32e_t              acc_int32e_si_t__
  |  | 4281|       |#  define acc_uint32e_t             acc_uint32e_si_t__
  |  | 4282|       |#  define ACC_INT32_C(c)            (c##LL)
  |  | 4283|       |#  define ACC_UINT32_C(c)           (c##ULL)
  |  | 4284|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___MODE_SI
  |  | 4285|       |#elif (ACC_SIZEOF___INT32 == 4)
  |  | 4286|       |#  define acc_int32e_t              __int32
  |  | 4287|       |#  define acc_uint32e_t             unsigned __int32
  |  | 4288|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___INT32
  |  | 4289|       |#else
  |  | 4290|       |#endif
  |  | 4291|       |#endif
  |  | 4292|       |#if defined(acc_int32e_t)
  |  | 4293|       |#  define ACC_SIZEOF_ACC_INT32E_T   4
  |  | 4294|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32e_t) == 4)
  |  | 4295|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32e_t) == ACC_SIZEOF_ACC_INT32E_T)
  |  | 4296|       |#endif
  |  | 4297|       |#if !defined(acc_int64e_t)
  |  | 4298|       |#if (ACC_SIZEOF___INT64 == 8)
  |  | 4299|       |#  if (ACC_CC_BORLANDC) && !defined(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T)
  |  | 4300|       |#    define ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T  ACC_TYPEOF___INT64
  |  | 4301|       |#  endif
  |  | 4302|       |#endif
  |  | 4303|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && (ACC_SIZEOF_LONG_LONG != 8)
  |  | 4304|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
  |  | 4305|       |#endif
  |  | 4306|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64) && (ACC_SIZEOF___INT64 != 8)
  |  | 4307|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
  |  | 4308|       |#endif
  |  | 4309|       |#if (ACC_SIZEOF_INT == 8) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 4310|       |#  define acc_int64e_t              int
  |  | 4311|       |#  define acc_uint64e_t             unsigned int
  |  | 4312|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_INT
  |  | 4313|       |#elif (ACC_SIZEOF_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
  |  | 4314|       |#  define acc_int64e_t              long int
  |  | 4315|       |#  define acc_uint64e_t             unsigned long int
  |  | 4316|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_LONG
  |  | 4317|       |#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
  |  | 4318|       |#  define acc_int64e_t              acc_llong_t
  |  | 4319|       |#  define acc_uint64e_t             acc_ullong_t
  |  | 4320|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_LONG_LONG
  |  | 4321|       |#  if (ACC_CC_BORLANDC)
  |  | 4322|       |#    define ACC_INT64_C(c)          ((c) + 0ll)
  |  | 4323|       |#    define ACC_UINT64_C(c)         ((c) + 0ull)
  |  | 4324|       |#  elif 0
  |  | 4325|       |#    define ACC_INT64_C(c)          (__acc_gnuc_extension__ (c##LL))
  |  | 4326|       |#    define ACC_UINT64_C(c)         (__acc_gnuc_extension__ (c##ULL))
  |  | 4327|       |#  else
  |  | 4328|       |#    define ACC_INT64_C(c)          (c##LL)
  |  | 4329|       |#    define ACC_UINT64_C(c)         (c##ULL)
  |  | 4330|       |#  endif
  |  | 4331|       |#elif (ACC_SIZEOF___INT64 == 8)
  |  | 4332|       |#  define acc_int64e_t              __int64
  |  | 4333|       |#  define acc_uint64e_t             unsigned __int64
  |  | 4334|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF___INT64
  |  | 4335|       |#  if (ACC_CC_BORLANDC)
  |  | 4336|       |#    define ACC_INT64_C(c)          ((c) + 0i64)
  |  | 4337|       |#    define ACC_UINT64_C(c)         ((c) + 0ui64)
  |  | 4338|       |#  else
  |  | 4339|       |#    define ACC_INT64_C(c)          (c##i64)
  |  | 4340|       |#    define ACC_UINT64_C(c)         (c##ui64)
  |  | 4341|       |#  endif
  |  | 4342|       |#else
  |  | 4343|       |#endif
  |  | 4344|       |#endif
  |  | 4345|       |#if defined(acc_int64e_t)
  |  | 4346|       |#  define ACC_SIZEOF_ACC_INT64E_T   8
  |  | 4347|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64e_t) == 8)
  |  | 4348|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64e_t) == ACC_SIZEOF_ACC_INT64E_T)
  |  | 4349|       |#endif
  |  | 4350|       |#if !defined(acc_int32l_t)
  |  | 4351|       |#if defined(acc_int32e_t)
  |  | 4352|       |#  define acc_int32l_t              acc_int32e_t
  |  | 4353|       |#  define acc_uint32l_t             acc_uint32e_t
  |  | 4354|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_ACC_INT32E_T
  |  | 4355|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_TYPEOF_ACC_INT32E_T
  |  | 4356|       |#elif (ACC_SIZEOF_INT >= 4) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 4357|       |#  define acc_int32l_t              int
  |  | 4358|       |#  define acc_uint32l_t             unsigned int
  |  | 4359|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_INT
  |  | 4360|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_SIZEOF_INT
  |  | 4361|       |#elif (ACC_SIZEOF_LONG >= 4)
  |  | 4362|       |#  define acc_int32l_t              long int
  |  | 4363|       |#  define acc_uint32l_t             unsigned long int
  |  | 4364|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_LONG
  |  | 4365|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_SIZEOF_LONG
  |  | 4366|       |#else
  |  | 4367|       |#  error "acc_int32l_t"
  |  | 4368|       |#endif
  |  | 4369|       |#endif
  |  | 4370|       |#if 1
  |  | 4371|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32l_t) >= 4)
  |  | 4372|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32l_t) == ACC_SIZEOF_ACC_INT32L_T)
  |  | 4373|       |#endif
  |  | 4374|       |#if !defined(acc_int64l_t)
  |  | 4375|       |#if defined(acc_int64e_t)
  |  | 4376|       |#  define acc_int64l_t              acc_int64e_t
  |  | 4377|       |#  define acc_uint64l_t             acc_uint64e_t
  |  | 4378|       |#  define ACC_SIZEOF_ACC_INT64L_T   ACC_SIZEOF_ACC_INT64E_T
  |  | 4379|       |#  define ACC_TYPEOF_ACC_INT64L_T   ACC_TYPEOF_ACC_INT64E_T
  |  | 4380|       |#else
  |  | 4381|       |#endif
  |  | 4382|       |#endif
  |  | 4383|       |#if defined(acc_int64l_t)
  |  | 4384|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64l_t) >= 8)
  |  | 4385|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64l_t) == ACC_SIZEOF_ACC_INT64L_T)
  |  | 4386|       |#endif
  |  | 4387|       |#if !defined(acc_int32f_t)
  |  | 4388|       |#if (ACC_SIZEOF_SIZE_T >= 8)
  |  | 4389|       |#  define acc_int32f_t              acc_int64l_t
  |  | 4390|       |#  define acc_uint32f_t             acc_uint64l_t
  |  | 4391|       |#  define ACC_SIZEOF_ACC_INT32F_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 4392|       |#  define ACC_TYPEOF_ACC_INT32F_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 4393|       |#else
  |  | 4394|       |#  define acc_int32f_t              acc_int32l_t
  |  | 4395|       |#  define acc_uint32f_t             acc_uint32l_t
  |  | 4396|       |#  define ACC_SIZEOF_ACC_INT32F_T   ACC_SIZEOF_ACC_INT32L_T
  |  | 4397|       |#  define ACC_TYPEOF_ACC_INT32F_T   ACC_TYPEOF_ACC_INT32L_T
  |  | 4398|       |#endif
  |  | 4399|       |#endif
  |  | 4400|       |#if 1
  |  | 4401|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32f_t) >= 4)
  |  | 4402|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32f_t) == ACC_SIZEOF_ACC_INT32F_T)
  |  | 4403|       |#endif
  |  | 4404|       |#if !defined(acc_int64f_t)
  |  | 4405|       |#if defined(acc_int64l_t)
  |  | 4406|       |#  define acc_int64f_t              acc_int64l_t
  |  | 4407|       |#  define acc_uint64f_t             acc_uint64l_t
  |  | 4408|       |#  define ACC_SIZEOF_ACC_INT64F_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 4409|       |#  define ACC_TYPEOF_ACC_INT64F_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 4410|       |#else
  |  | 4411|       |#endif
  |  | 4412|       |#endif
  |  | 4413|       |#if defined(acc_int64f_t)
  |  | 4414|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64f_t) >= 8)
  |  | 4415|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64f_t) == ACC_SIZEOF_ACC_INT64F_T)
  |  | 4416|       |#endif
  |  | 4417|       |#if !defined(acc_intptr_t)
  |  | 4418|       |#if defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
  |  | 4419|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4420|       |   typedef __INTPTR_TYPE__          acc_intptr_t;
  |  | 4421|       |   typedef __UINTPTR_TYPE__         acc_uintptr_t;
  |  | 4422|       |#  endif
  |  | 4423|       |#  define acc_intptr_t              acc_intptr_t
  |  | 4424|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 4425|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_VOID_P
  |  | 4426|       |#elif 1 && (ACC_OS_OS400 && (ACC_SIZEOF_VOID_P == 16))
  |  | 4427|       |#  define __ACC_INTPTR_T_IS_POINTER 1
  |  | 4428|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4429|       |   typedef char *                   acc_intptr_t;
  |  | 4430|       |   typedef char *                   acc_uintptr_t;
  |  | 4431|       |#  endif
  |  | 4432|       |#  define acc_intptr_t              acc_intptr_t
  |  | 4433|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 4434|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_VOID_P
  |  | 4435|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_CHAR_P
  |  | 4436|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1300) && (ACC_SIZEOF_VOID_P == 4) && (ACC_SIZEOF_INT == 4))
  |  | 4437|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4438|       |   typedef __w64 int                acc_intptr_t;
  |  | 4439|       |   typedef __w64 unsigned int       acc_uintptr_t;
  |  | 4440|       |#  endif
  |  | 4441|       |#  define acc_intptr_t              acc_intptr_t
  |  | 4442|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 4443|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_INT
  |  | 4444|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_INT
  |  | 4445|       |#elif (ACC_SIZEOF_SHORT == ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT > ACC_SIZEOF_VOID_P)
  |  | 4446|       |#  define acc_intptr_t              short
  |  | 4447|       |#  define acc_uintptr_t             unsigned short
  |  | 4448|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_SHORT
  |  | 4449|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_SHORT
  |  | 4450|       |#elif (ACC_SIZEOF_INT >= ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 4451|       |#  define acc_intptr_t              int
  |  | 4452|       |#  define acc_uintptr_t             unsigned int
  |  | 4453|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_INT
  |  | 4454|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_INT
  |  | 4455|       |#elif (ACC_SIZEOF_LONG >= ACC_SIZEOF_VOID_P)
  |  | 4456|       |#  define acc_intptr_t              long
  |  | 4457|       |#  define acc_uintptr_t             unsigned long
  |  | 4458|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_LONG
  |  | 4459|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_LONG
  |  | 4460|       |#elif (ACC_SIZEOF_ACC_INT64L_T >= ACC_SIZEOF_VOID_P)
  |  | 4461|       |#  define acc_intptr_t              acc_int64l_t
  |  | 4462|       |#  define acc_uintptr_t             acc_uint64l_t
  |  | 4463|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 4464|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 4465|       |#else
  |  | 4466|       |#  error "acc_intptr_t"
  |  | 4467|       |#endif
  |  | 4468|       |#endif
  |  | 4469|       |#if 1
  |  | 4470|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_intptr_t) >= sizeof(void *))
  |  | 4471|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
  |  | 4472|       |#endif
  |  | 4473|       |#if !defined(acc_word_t)
  |  | 4474|       |#if defined(ACC_WORDSIZE) && (ACC_WORDSIZE+0 > 0)
  |  | 4475|       |#if (ACC_WORDSIZE == ACC_SIZEOF_ACC_INTPTR_T) && !(__ACC_INTPTR_T_IS_POINTER)
  |  | 4476|       |#  define acc_word_t                acc_uintptr_t
  |  | 4477|       |#  define acc_sword_t               acc_intptr_t
  |  | 4478|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INTPTR_T
  |  | 4479|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_ACC_INTPTR_T
  |  | 4480|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_LONG)
  |  | 4481|       |#  define acc_word_t                unsigned long
  |  | 4482|       |#  define acc_sword_t               long
  |  | 4483|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_LONG
  |  | 4484|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_LONG
  |  | 4485|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_INT)
  |  | 4486|       |#  define acc_word_t                unsigned int
  |  | 4487|       |#  define acc_sword_t               int
  |  | 4488|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_INT
  |  | 4489|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_INT
  |  | 4490|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_SHORT)
  |  | 4491|       |#  define acc_word_t                unsigned short
  |  | 4492|       |#  define acc_sword_t               short
  |  | 4493|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_SHORT
  |  | 4494|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_SHORT
  |  | 4495|       |#elif (ACC_WORDSIZE == 1)
  |  | 4496|       |#  define acc_word_t                unsigned char
  |  | 4497|       |#  define acc_sword_t               signed char
  |  | 4498|       |#  define ACC_SIZEOF_ACC_WORD_T     1
  |  | 4499|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_CHAR
  |  | 4500|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_ACC_INT64L_T)
  |  | 4501|       |#  define acc_word_t                acc_uint64l_t
  |  | 4502|       |#  define acc_sword_t               acc_int64l_t
  |  | 4503|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INT64L_T
  |  | 4504|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INT64L_T
  |  | 4505|       |#elif (ACC_ARCH_SPU) && (ACC_CC_GNUC)
  |  | 4506|       |#if 0
  |  | 4507|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4508|       |   typedef unsigned acc_word_t  __attribute__((__mode__(__V16QI__)));
  |  | 4509|       |   typedef int      acc_sword_t __attribute__((__mode__(__V16QI__)));
  |  | 4510|       |#  endif
  |  | 4511|       |#  define acc_word_t                acc_word_t
  |  | 4512|       |#  define acc_sword_t               acc_sword_t
  |  | 4513|       |#  define ACC_SIZEOF_ACC_WORD_T     16
  |  | 4514|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF___MODE_V16QI
  |  | 4515|       |#endif
  |  | 4516|       |#else
  |  | 4517|       |#  error "acc_word_t"
  |  | 4518|       |#endif
  |  | 4519|       |#endif
  |  | 4520|       |#endif
  |  | 4521|       |#if 1 && defined(acc_word_t)
  |  | 4522|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_word_t)  == ACC_WORDSIZE)
  |  | 4523|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_sword_t) == ACC_WORDSIZE)
  |  | 4524|       |#endif
  |  | 4525|       |#if 1
  |  | 4526|       |#define acc_int8_t                  signed char
  |  | 4527|       |#define acc_uint8_t                 unsigned char
  |  | 4528|       |#define ACC_SIZEOF_ACC_INT8_T       1
  |  | 4529|       |#define ACC_TYPEOF_ACC_INT8_T       ACC_TYPEOF_CHAR
  |  | 4530|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int8_t) == 1)
  |  | 4531|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int8_t) == sizeof(acc_uint8_t))
  |  | 4532|       |#endif
  |  | 4533|       |#if defined(acc_int16e_t)
  |  | 4534|       |#define acc_int16_t                 acc_int16e_t
  |  | 4535|       |#define acc_uint16_t                acc_uint16e_t
  |  | 4536|       |#define ACC_SIZEOF_ACC_INT16_T      ACC_SIZEOF_ACC_INT16E_T
  |  | 4537|       |#define ACC_TYPEOF_ACC_INT16_T      ACC_TYPEOF_ACC_INT16E_T
  |  | 4538|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16_t) == 2)
  |  | 4539|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16_t) == sizeof(acc_uint16_t))
  |  | 4540|       |#endif
  |  | 4541|       |#if defined(acc_int32e_t)
  |  | 4542|       |#define acc_int32_t                 acc_int32e_t
  |  | 4543|       |#define acc_uint32_t                acc_uint32e_t
  |  | 4544|       |#define ACC_SIZEOF_ACC_INT32_T      ACC_SIZEOF_ACC_INT32E_T
  |  | 4545|       |#define ACC_TYPEOF_ACC_INT32_T      ACC_TYPEOF_ACC_INT32E_T
  |  | 4546|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32_t) == 4)
  |  | 4547|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32_t) == sizeof(acc_uint32_t))
  |  | 4548|       |#endif
  |  | 4549|       |#if defined(acc_int64e_t)
  |  | 4550|       |#define acc_int64_t                 acc_int64e_t
  |  | 4551|       |#define acc_uint64_t                acc_uint64e_t
  |  | 4552|       |#define ACC_SIZEOF_ACC_INT64_T      ACC_SIZEOF_ACC_INT64E_T
  |  | 4553|       |#define ACC_TYPEOF_ACC_INT64_T      ACC_TYPEOF_ACC_INT64E_T
  |  | 4554|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64_t) == 8)
  |  | 4555|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64_t) == sizeof(acc_uint64_t))
  |  | 4556|       |#endif
  |  | 4557|       |#if 1
  |  | 4558|       |#define acc_int_least32_t           acc_int32l_t
  |  | 4559|       |#define acc_uint_least32_t          acc_uint32l_t
  |  | 4560|       |#define ACC_SIZEOF_ACC_INT_LEAST32_T ACC_SIZEOF_ACC_INT32L_T
  |  | 4561|       |#define ACC_TYPEOF_ACC_INT_LEAST32_T ACC_TYPEOF_ACC_INT32L_T
  |  | 4562|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least32_t) >= 4)
  |  | 4563|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least32_t) == sizeof(acc_uint_least32_t))
  |  | 4564|       |#endif
  |  | 4565|       |#if defined(acc_int64l_t)
  |  | 4566|       |#define acc_int_least64_t           acc_int64l_t
  |  | 4567|       |#define acc_uint_least64_t          acc_uint64l_t
  |  | 4568|       |#define ACC_SIZEOF_ACC_INT_LEAST64_T ACC_SIZEOF_ACC_INT64L_T
  |  | 4569|       |#define ACC_TYPEOF_ACC_INT_LEAST64_T ACC_TYPEOF_ACC_INT64L_T
  |  | 4570|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least64_t) >= 8)
  |  | 4571|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least64_t) == sizeof(acc_uint_least64_t))
  |  | 4572|       |#endif
  |  | 4573|       |#if 1
  |  | 4574|       |#define acc_int_fast32_t           acc_int32f_t
  |  | 4575|       |#define acc_uint_fast32_t          acc_uint32f_t
  |  | 4576|       |#define ACC_SIZEOF_ACC_INT_FAST32_T ACC_SIZEOF_ACC_INT32F_T
  |  | 4577|       |#define ACC_TYPEOF_ACC_INT_FAST32_T ACC_TYPEOF_ACC_INT32F_T
  |  | 4578|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast32_t) >= 4)
  |  | 4579|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast32_t) == sizeof(acc_uint_fast32_t))
  |  | 4580|       |#endif
  |  | 4581|       |#if defined(acc_int64f_t)
  |  | 4582|       |#define acc_int_fast64_t           acc_int64f_t
  |  | 4583|       |#define acc_uint_fast64_t          acc_uint64f_t
  |  | 4584|       |#define ACC_SIZEOF_ACC_INT_FAST64_T ACC_SIZEOF_ACC_INT64F_T
  |  | 4585|       |#define ACC_TYPEOF_ACC_INT_FAST64_T ACC_TYPEOF_ACC_INT64F_T
  |  | 4586|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) >= 8)
  |  | 4587|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) == sizeof(acc_uint_fast64_t))
  |  | 4588|       |#endif
  |  | 4589|       |#if !defined(ACC_INT16_C)
  |  | 4590|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 2)
  |  | 4591|       |#    define ACC_INT16_C(c)          ((c) + 0)
  |  | 4592|       |#    define ACC_UINT16_C(c)         ((c) + 0U)
  |  | 4593|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 2)
  |  | 4594|       |#    define ACC_INT16_C(c)          ((c) + 0L)
  |  | 4595|       |#    define ACC_UINT16_C(c)         ((c) + 0UL)
  |  | 4596|       |#  elif (ACC_SIZEOF_INT >= 2)
  |  | 4597|       |#    define ACC_INT16_C(c)          (c)
  |  | 4598|       |#    define ACC_UINT16_C(c)         (c##U)
  |  | 4599|       |#  elif (ACC_SIZEOF_LONG >= 2)
  |  | 4600|       |#    define ACC_INT16_C(c)          (c##L)
  |  | 4601|       |#    define ACC_UINT16_C(c)         (c##UL)
  |  | 4602|       |#  else
  |  | 4603|       |#    error "ACC_INT16_C"
  |  | 4604|       |#  endif
  |  | 4605|       |#endif
  |  | 4606|       |#if !defined(ACC_INT32_C)
  |  | 4607|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 4)
  |  | 4608|       |#    define ACC_INT32_C(c)          ((c) + 0)
  |  | 4609|       |#    define ACC_UINT32_C(c)         ((c) + 0U)
  |  | 4610|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 4)
  |  | 4611|       |#    define ACC_INT32_C(c)          ((c) + 0L)
  |  | 4612|       |#    define ACC_UINT32_C(c)         ((c) + 0UL)
  |  | 4613|       |#  elif (ACC_SIZEOF_INT >= 4)
  |  | 4614|       |#    define ACC_INT32_C(c)          (c)
  |  | 4615|       |#    define ACC_UINT32_C(c)         (c##U)
  |  | 4616|       |#  elif (ACC_SIZEOF_LONG >= 4)
  |  | 4617|       |#    define ACC_INT32_C(c)          (c##L)
  |  | 4618|       |#    define ACC_UINT32_C(c)         (c##UL)
  |  | 4619|       |#  elif (ACC_SIZEOF_LONG_LONG >= 4)
  |  | 4620|       |#    define ACC_INT32_C(c)          (c##LL)
  |  | 4621|       |#    define ACC_UINT32_C(c)         (c##ULL)
  |  | 4622|       |#  else
  |  | 4623|       |#    error "ACC_INT32_C"
  |  | 4624|       |#  endif
  |  | 4625|       |#endif
  |  | 4626|       |#if !defined(ACC_INT64_C) && defined(acc_int64l_t)
  |  | 4627|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 8)
  |  | 4628|       |#    define ACC_INT64_C(c)          ((c) + 0)
  |  | 4629|       |#    define ACC_UINT64_C(c)         ((c) + 0U)
  |  | 4630|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 8)
  |  | 4631|       |#    define ACC_INT64_C(c)          ((c) + 0L)
  |  | 4632|       |#    define ACC_UINT64_C(c)         ((c) + 0UL)
  |  | 4633|       |#  elif (ACC_SIZEOF_INT >= 8)
  |  | 4634|       |#    define ACC_INT64_C(c)          (c)
  |  | 4635|       |#    define ACC_UINT64_C(c)         (c##U)
  |  | 4636|       |#  elif (ACC_SIZEOF_LONG >= 8)
  |  | 4637|       |#    define ACC_INT64_C(c)          (c##L)
  |  | 4638|       |#    define ACC_UINT64_C(c)         (c##UL)
  |  | 4639|       |#  else
  |  | 4640|       |#    error "ACC_INT64_C"
  |  | 4641|       |#  endif
  |  | 4642|       |#endif
  |  | 4643|       |#if 1 && !defined(acc_signo_t) && defined(__linux__) && defined(__dietlibc__) && (ACC_SIZEOF_INT != 4)
  |  | 4644|       |#  define acc_signo_t               acc_int32e_t
  |  | 4645|       |#endif
  |  | 4646|       |#if !defined(acc_signo_t)
  |  | 4647|       |#  define acc_signo_t               int
  |  | 4648|       |#endif
  |  | 4649|       |#if defined(__cplusplus)
  |  | 4650|       |extern "C" {
  |  | 4651|       |#endif
  |  | 4652|       |#if (ACC_BROKEN_CDECL_ALT_SYNTAX)
  |  | 4653|       |typedef void __acc_cdecl_sighandler (*acc_sighandler_t)(acc_signo_t);
  |  | 4654|       |#else
  |  | 4655|       |typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
  |  | 4656|       |#endif
  |  | 4657|       |#if defined(__cplusplus)
  |  | 4658|       |}
  |  | 4659|       |#endif
  |  | 4660|       |#  if !(ACC_CFG_SKIP_ACC_UA)
  |  | 4661|       |#if !defined(__acc_ua_volatile)
  |  | 4662|       |#  define __acc_ua_volatile     volatile
  |  | 4663|       |#endif
  |  | 4664|       |#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
  |  | 4665|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
  |  | 4666|       |#elif (ACC_CC_INTELC) && defined(_WIN32)
  |  | 4667|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 700))
  |  | 4668|       |#elif (ACC_CC_LLVM)
  |  | 4669|       |#elif (ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE)
  |  | 4670|       |#if !defined(__acc_ua16_t) && (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
  |  | 4671|       |   typedef struct { __acc_ua_volatile acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
  |  | 4672|       |#  define __acc_ua16_t __acc_ua16_t
  |  | 4673|       |#endif
  |  | 4674|       |#if !defined(__acc_ua32_t) && (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
  |  | 4675|       |   typedef struct { __acc_ua_volatile acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
  |  | 4676|       |#  define __acc_ua32_t __acc_ua32_t
  |  | 4677|       |#endif
  |  | 4678|       |#if !defined(__acc_ua64_t) && (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
  |  | 4679|       |   typedef struct { __acc_ua_volatile acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
  |  | 4680|       |#  define __acc_ua64_t __acc_ua64_t
  |  | 4681|       |#endif
  |  | 4682|       |#endif
  |  | 4683|       |#if (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
  |  | 4684|       |#if 0
  |  | 4685|       |#define ACC_UA_GET16(p)         (* (__acc_ua_volatile const acc_uint16e_t*) (__acc_ua_volatile const void*) (p))
  |  | 4686|       |#define ACC_UA_SET16(p,v)       ((* (__acc_ua_volatile acc_uint16e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint16e_t) (v))
  |  | 4687|       |#else
  |  | 4688|       |#define ACC_UA_GET16(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint16e_t*, __acc_ua_volatile const void*, p))
  |  | 4689|       |#define ACC_UA_SET16(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint16e_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint16e_t, v))
  |  | 4690|       |#endif
  |  | 4691|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4692|       |#  define ACC_UA_GET_BE16(p)    ACC_UA_GET16(p)
  |  | 4693|       |#  define ACC_UA_SET_BE16(p,v)  ACC_UA_SET16(p,v)
  |  | 4694|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4695|       |#  define ACC_UA_GET_LE16(p)    ACC_UA_GET16(p)
  |  | 4696|       |#  define ACC_UA_SET_LE16(p,v)  ACC_UA_SET16(p,v)
  |  | 4697|       |#endif
  |  | 4698|       |#if (__acc_HAVE_forceinline)
  |  | 4699|       |#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_ASM_SYNTAX_GNUC) && (ACC_CC_GNUC)
  |  | 4700|       |#if !defined(ACC_UA_GET_LE16)
  |  | 4701|       |__acc_static_forceinline
  |  | 4702|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4703|       |__attribute__((__unused__))
  |  | 4704|       |#endif
  |  | 4705|       |unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
  |  | 4706|       |    __acc_ua_volatile const acc_uint16e_t* p = ACC_STATIC_CAST(__acc_ua_volatile const acc_uint16e_t*, pp);
  |  | 4707|       |    unsigned long v;
  |  | 4708|       |    __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
  |  | 4709|       |    return v;
  |  | 4710|       |}
  |  | 4711|       |#define ACC_UA_GET_LE16(p)      __ACC_UA_GET_LE16(p)
  |  | 4712|       |#endif
  |  | 4713|       |#if !defined(ACC_UA_SET_LE16)
  |  | 4714|       |__acc_static_forceinline
  |  | 4715|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4716|       |__attribute__((__unused__))
  |  | 4717|       |#endif
  |  | 4718|       |void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
  |  | 4719|       |    __acc_ua_volatile acc_uint16e_t* p = ACC_STATIC_CAST(__acc_ua_volatile acc_uint16e_t*, pp);
  |  | 4720|       |    __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
  |  | 4721|       |}
  |  | 4722|       |#define ACC_UA_SET_LE16(p,v)    __ACC_UA_SET_LE16(p,v)
  |  | 4723|       |#endif
  |  | 4724|       |#endif
  |  | 4725|       |#endif
  |  | 4726|       |#if !defined(ACC_UA_COPY16)
  |  | 4727|       |#  define ACC_UA_COPY16(d,s)    ACC_UA_SET16(d, ACC_UA_GET16(s))
  |  | 4728|       |#endif
  |  | 4729|       |#endif
  |  | 4730|       |#if (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
  |  | 4731|       |#if 0
  |  | 4732|       |#define ACC_UA_GET32(p)         (* (__acc_ua_volatile const acc_uint32e_t*) (__acc_ua_volatile const void*) (p))
  |  | 4733|       |#define ACC_UA_SET32(p,v)       ((* (__acc_ua_volatile acc_uint32e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint32e_t) (v))
  |  | 4734|       |#else
  |  | 4735|       |#define ACC_UA_GET32(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint32e_t*, __acc_ua_volatile const void*, p))
  |  | 4736|       |#define ACC_UA_SET32(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint32e_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint32e_t, v))
  |  | 4737|       |#endif
  |  | 4738|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4739|       |#  define ACC_UA_GET_BE32(p)    ACC_UA_GET32(p)
  |  | 4740|       |#  define ACC_UA_SET_BE32(p,v)  ACC_UA_SET32(p,v)
  |  | 4741|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4742|       |#  define ACC_UA_GET_LE32(p)    ACC_UA_GET32(p)
  |  | 4743|       |#  define ACC_UA_SET_LE32(p,v)  ACC_UA_SET32(p,v)
  |  | 4744|       |#endif
  |  | 4745|       |#if (__acc_HAVE_forceinline)
  |  | 4746|       |#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_ASM_SYNTAX_GNUC) && (ACC_CC_GNUC)
  |  | 4747|       |#if !defined(ACC_UA_GET_LE32)
  |  | 4748|       |__acc_static_forceinline
  |  | 4749|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4750|       |__attribute__((__unused__))
  |  | 4751|       |#endif
  |  | 4752|       |unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
  |  | 4753|       |    __acc_ua_volatile const acc_uint32e_t* p = ACC_STATIC_CAST(__acc_ua_volatile const acc_uint32e_t*, pp);
  |  | 4754|       |    unsigned long v;
  |  | 4755|       |    __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
  |  | 4756|       |    return v;
  |  | 4757|       |}
  |  | 4758|       |#define ACC_UA_GET_LE32(p)      __ACC_UA_GET_LE32(p)
  |  | 4759|       |#endif
  |  | 4760|       |#if !defined(ACC_UA_SET_LE32)
  |  | 4761|       |__acc_static_forceinline
  |  | 4762|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4763|       |__attribute__((__unused__))
  |  | 4764|       |#endif
  |  | 4765|       |void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
  |  | 4766|       |    __acc_ua_volatile acc_uint32e_t* p = ACC_STATIC_CAST(__acc_ua_volatile acc_uint32e_t*, pp);
  |  | 4767|       |    __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
  |  | 4768|       |}
  |  | 4769|       |#define ACC_UA_SET_LE32(p,v)    __ACC_UA_SET_LE32(p,v)
  |  | 4770|       |#endif
  |  | 4771|       |#endif
  |  | 4772|       |#endif
  |  | 4773|       |#if !defined(ACC_UA_COPY32)
  |  | 4774|       |#  define ACC_UA_COPY32(d,s)    ACC_UA_SET32(d, ACC_UA_GET32(s))
  |  | 4775|       |#endif
  |  | 4776|       |#endif
  |  | 4777|       |#if (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
  |  | 4778|       |#if 0
  |  | 4779|       |#define ACC_UA_GET64(p)         (* (__acc_ua_volatile const acc_uint64l_t*) (__acc_ua_volatile const void*) (p))
  |  | 4780|       |#define ACC_UA_SET64(p,v)       ((* (__acc_ua_volatile acc_uint64l_t*) (__acc_ua_volatile void*) (p)) = (acc_uint64l_t) (v))
  |  | 4781|       |#else
  |  | 4782|       |#define ACC_UA_GET64(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint64l_t*, __acc_ua_volatile const void*, p))
  |  | 4783|       |#define ACC_UA_SET64(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint64l_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint64l_t, v))
  |  | 4784|       |#endif
  |  | 4785|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4786|       |#  define ACC_UA_GET_BE64(p)    ACC_UA_GET64(p)
  |  | 4787|       |#  define ACC_UA_SET_BE64(p,v)  ACC_UA_SET64(p,v)
  |  | 4788|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4789|       |#  define ACC_UA_GET_LE64(p)    ACC_UA_GET64(p)
  |  | 4790|       |#  define ACC_UA_SET_LE64(p,v)  ACC_UA_SET64(p,v)
  |  | 4791|       |#endif
  |  | 4792|       |#if !defined(ACC_UA_COPY64)
  |  | 4793|       |#  define ACC_UA_COPY64(d,s)    ACC_UA_SET64(d, ACC_UA_GET64(s))
  |  | 4794|       |#endif
  |  | 4795|       |#endif
  |  | 4796|       |#  endif
  |  | 4797|       |#endif
  |  | 4798|       |#if defined(ACC_WANT_ACC_INCD_H)
  |  | 4799|       |#  undef ACC_WANT_ACC_INCD_H
  |  | 4800|       |#ifndef __ACC_INCD_H_INCLUDED
  |  | 4801|       |#define __ACC_INCD_H_INCLUDED 1
  |  | 4802|       |#if (ACC_LIBC_NAKED)
  |  | 4803|       |#ifndef __ACC_FALLBACK_STDDEF_H_INCLUDED
  |  | 4804|       |#define __ACC_FALLBACK_STDDEF_H_INCLUDED 1
  |  | 4805|       |#if defined(__PTRDIFF_TYPE__)
  |  | 4806|       |typedef __PTRDIFF_TYPE__ acc_fallback_ptrdiff_t;
  |  | 4807|       |#elif defined(_WIN64)
  |  | 4808|       |typedef long long acc_fallback_ptrdiff_t;
  |  | 4809|       |#elif defined(__MIPS_PSX2__)
  |  | 4810|       |typedef int acc_fallback_ptrdiff_t;
  |  | 4811|       |#else
  |  | 4812|       |typedef long acc_fallback_ptrdiff_t;
  |  | 4813|       |#endif
  |  | 4814|       |#if defined(__SIZE_TYPE__)
  |  | 4815|       |typedef __SIZE_TYPE__ acc_fallback_size_t;
  |  | 4816|       |#elif defined(_WIN64)
  |  | 4817|       |typedef unsigned long long acc_fallback_size_t;
  |  | 4818|       |#elif defined(__MIPS_PSX2__)
  |  | 4819|       |typedef unsigned acc_fallback_size_t;
  |  | 4820|       |#else
  |  | 4821|       |typedef unsigned long acc_fallback_size_t;
  |  | 4822|       |#endif
  |  | 4823|       |#if !defined(ptrdiff_t)
  |  | 4824|       |typedef acc_fallback_ptrdiff_t ptrdiff_t;
  |  | 4825|       |#ifndef _PTRDIFF_T_DEFINED
  |  | 4826|       |#define _PTRDIFF_T_DEFINED 1
  |  | 4827|       |#endif
  |  | 4828|       |#endif
  |  | 4829|       |#if !defined(size_t)
  |  | 4830|       |typedef acc_fallback_size_t size_t;
  |  | 4831|       |#ifndef _SIZE_T_DEFINED
  |  | 4832|       |#define _SIZE_T_DEFINED 1
  |  | 4833|       |#endif
  |  | 4834|       |#endif
  |  | 4835|       |#if !defined(__cplusplus) && !defined(wchar_t)
  |  | 4836|       |typedef unsigned short wchar_t;
  |  | 4837|       |#ifndef _WCHAR_T_DEFINED
  |  | 4838|       |#define _WCHAR_T_DEFINED 1
  |  | 4839|       |#endif
  |  | 4840|       |#endif
  |  | 4841|       |#ifndef NULL
  |  | 4842|       |#if defined(__cplusplus) && (__cplusplus-0 >= 201103L)
  |  | 4843|       |#define NULL    nullptr
  |  | 4844|       |#elif defined(__cplusplus) && defined(__GNUC__) && (__GNUC__ >= 4)
  |  | 4845|       |#define NULL    __null
  |  | 4846|       |#elif defined(__cplusplus)
  |  | 4847|       |#define NULL    0
  |  | 4848|       |#else
  |  | 4849|       |#define NULL    ((void*)0)
  |  | 4850|       |#endif
  |  | 4851|       |#endif
  |  | 4852|       |#ifndef offsetof
  |  | 4853|       |#define offsetof(s,m)   ((size_t)((ptrdiff_t)&(((s*)NULL)->m)))
  |  | 4854|       |#endif
  |  | 4855|       |#endif
  |  | 4856|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 4857|       |# if defined(HAVE_STDDEF_H) && (HAVE_STDDEF_H+0)
  |  | 4858|       |#  include <stddef.h>
  |  | 4859|       |# endif
  |  | 4860|       |# if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
  |  | 4861|       |#  include <stdint.h>
  |  | 4862|       |# endif
  |  | 4863|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 4864|       |# if defined(HAVE_STDIO_H) && (HAVE_STDIO_H+0)
  |  | 4865|       |#  include <stdio.h>
  |  | 4866|       |# endif
  |  | 4867|       |# if defined(HAVE_STDDEF_H) && (HAVE_STDDEF_H+0)
  |  | 4868|       |#  include <stddef.h>
  |  | 4869|       |# endif
  |  | 4870|       |# if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
  |  | 4871|       |#  include <stdint.h>
  |  | 4872|       |# endif
  |  | 4873|       |#else
  |  | 4874|       |#include <stdio.h>
  |  | 4875|       |#if defined(HAVE_TIME_H) && (HAVE_TIME_H+0) && defined(__MSL__) && defined(__cplusplus)
  |  | 4876|       |# include <time.h>
  |  | 4877|       |#endif
  |  | 4878|       |#if defined(HAVE_SYS_TYPES_H) && (HAVE_SYS_TYPES_H+0)
  |  | 4879|       |# include <sys/types.h>
  |  | 4880|       |#endif
  |  | 4881|       |#if defined(HAVE_SYS_STAT_H) && (HAVE_SYS_STAT_H+0)
  |  | 4882|       |# include <sys/stat.h>
  |  | 4883|       |#endif
  |  | 4884|       |#if defined(STDC_HEADERS) && (STDC_HEADERS+0)
  |  | 4885|       |# include <stdlib.h>
  |  | 4886|       |#elif defined(HAVE_STDLIB_H) && (HAVE_STDLIB_H+0)
  |  | 4887|       |# include <stdlib.h>
  |  | 4888|       |#endif
  |  | 4889|       |#include <stddef.h>
  |  | 4890|       |#if defined(HAVE_STRING_H) && (HAVE_STRING_H+0)
  |  | 4891|       |# if defined(STDC_HEADERS) && (STDC_HEADERS+0)
  |  | 4892|       |# elif defined(HAVE_MEMORY_H) && (HAVE_MEMORY_H+0)
  |  | 4893|       |#  include <memory.h>
  |  | 4894|       |# endif
  |  | 4895|       |# include <string.h>
  |  | 4896|       |#endif
  |  | 4897|       |#if defined(HAVE_STRINGS_H) && (HAVE_STRINGS_H+0)
  |  | 4898|       |# include <strings.h>
  |  | 4899|       |#endif
  |  | 4900|       |#if defined(HAVE_INTTYPES_H) && (HAVE_INTTYPES_H+0)
  |  | 4901|       |# include <inttypes.h>
  |  | 4902|       |#endif
  |  | 4903|       |#if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
  |  | 4904|       |# include <stdint.h>
  |  | 4905|       |#endif
  |  | 4906|       |#if defined(HAVE_UNISTD_H) && (HAVE_UNISTD_H+0)
  |  | 4907|       |# include <unistd.h>
  |  | 4908|       |#endif
  |  | 4909|       |#endif
  |  | 4910|       |#endif
  |  | 4911|       |#endif
  |  | 4912|       |#if defined(ACC_WANT_ACC_INCE_H)
  |  | 4913|       |#  undef ACC_WANT_ACC_INCE_H
  |  | 4914|       |#ifndef __ACC_INCE_H_INCLUDED
  |  | 4915|       |#define __ACC_INCE_H_INCLUDED 1
  |  | 4916|       |#if (ACC_LIBC_NAKED)
  |  | 4917|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 4918|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 4919|       |#  if (HAVE_SETJMP_H)
  |  | 4920|       |#    include <setjmp.h>
  |  | 4921|       |#  endif
  |  | 4922|       |#else
  |  | 4923|       |#if (HAVE_STDARG_H)
  |  | 4924|       |#  include <stdarg.h>
  |  | 4925|       |#endif
  |  | 4926|       |#if (HAVE_CTYPE_H)
  |  | 4927|       |#  include <ctype.h>
  |  | 4928|       |#endif
  |  | 4929|       |#if (HAVE_ERRNO_H)
  |  | 4930|       |#  include <errno.h>
  |  | 4931|       |#endif
  |  | 4932|       |#if (HAVE_MALLOC_H)
  |  | 4933|       |#  include <malloc.h>
  |  | 4934|       |#endif
  |  | 4935|       |#if (HAVE_ALLOCA_H)
  |  | 4936|       |#  include <alloca.h>
  |  | 4937|       |#endif
  |  | 4938|       |#if (HAVE_FCNTL_H)
  |  | 4939|       |#  include <fcntl.h>
  |  | 4940|       |#endif
  |  | 4941|       |#if (HAVE_DIRENT_H)
  |  | 4942|       |#  include <dirent.h>
  |  | 4943|       |#endif
  |  | 4944|       |#if (HAVE_SETJMP_H)
  |  | 4945|       |#  include <setjmp.h>
  |  | 4946|       |#endif
  |  | 4947|       |#if (HAVE_SIGNAL_H)
  |  | 4948|       |#  include <signal.h>
  |  | 4949|       |#endif
  |  | 4950|       |#if (HAVE_SYS_TIME_H && HAVE_TIME_H)
  |  | 4951|       |#  include <sys/time.h>
  |  | 4952|       |#  include <time.h>
  |  | 4953|       |#elif (HAVE_TIME_H)
  |  | 4954|       |#  include <time.h>
  |  | 4955|       |#endif
  |  | 4956|       |#if (HAVE_UTIME_H)
  |  | 4957|       |#  include <utime.h>
  |  | 4958|       |#elif (HAVE_SYS_UTIME_H)
  |  | 4959|       |#  include <sys/utime.h>
  |  | 4960|       |#endif
  |  | 4961|       |#if (HAVE_IO_H)
  |  | 4962|       |#  include <io.h>
  |  | 4963|       |#endif
  |  | 4964|       |#if (HAVE_DOS_H)
  |  | 4965|       |#  include <dos.h>
  |  | 4966|       |#endif
  |  | 4967|       |#if (HAVE_DIRECT_H)
  |  | 4968|       |#  include <direct.h>
  |  | 4969|       |#endif
  |  | 4970|       |#if (HAVE_SHARE_H)
  |  | 4971|       |#  include <share.h>
  |  | 4972|       |#endif
  |  | 4973|       |#if (ACC_CC_NDPC)
  |  | 4974|       |#  include <os.h>
  |  | 4975|       |#endif
  |  | 4976|       |#if defined(__TOS__) && (defined(__PUREC__) || defined(__TURBOC__))
  |  | 4977|       |#  include <ext.h>
  |  | 4978|       |#endif
  |  | 4979|       |#endif
  |  | 4980|       |#endif
  |  | 4981|       |#endif
  |  | 4982|       |#if defined(ACC_WANT_ACC_INCI_H)
  |  | 4983|       |#  undef ACC_WANT_ACC_INCI_H
  |  | 4984|       |#ifndef __ACC_INCI_H_INCLUDED
  |  | 4985|       |#define __ACC_INCI_H_INCLUDED 1
  |  | 4986|       |#if (ACC_LIBC_NAKED)
  |  | 4987|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 4988|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 4989|       |#else
  |  | 4990|       |#if (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 4991|       |#  include <tos.h>
  |  | 4992|       |#elif (ACC_HAVE_WINDOWS_H)
  |  | 4993|       |#  if 1 && !defined(WIN32_LEAN_AND_MEAN)
  |  | 4994|       |#    define WIN32_LEAN_AND_MEAN 1
  |  | 4995|       |#  endif
  |  | 4996|       |#  if 1 && !defined(_WIN32_WINNT)
  |  | 4997|       |#    define _WIN32_WINNT 0x0400
  |  | 4998|       |#  endif
  |  | 4999|       |#  include <windows.h>
  |  | 5000|       |#  if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 5001|       |#    include <dir.h>
  |  | 5002|       |#  endif
  |  | 5003|       |#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_WIN16)
  |  | 5004|       |#  if (ACC_CC_AZTECC)
  |  | 5005|       |#    include <model.h>
  |  | 5006|       |#    include <stat.h>
  |  | 5007|       |#  elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 5008|       |#    include <alloc.h>
  |  | 5009|       |#    include <dir.h>
  |  | 5010|       |#  elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 5011|       |#    include <sys/exceptn.h>
  |  | 5012|       |#  elif (ACC_CC_PACIFICC)
  |  | 5013|       |#    include <unixio.h>
  |  | 5014|       |#    include <stat.h>
  |  | 5015|       |#    include <sys.h>
  |  | 5016|       |#  elif (ACC_CC_WATCOMC)
  |  | 5017|       |#    include <i86.h>
  |  | 5018|       |#  endif
  |  | 5019|       |#elif (ACC_OS_OS216)
  |  | 5020|       |#  if (ACC_CC_WATCOMC)
  |  | 5021|       |#    include <i86.h>
  |  | 5022|       |#  endif
  |  | 5023|       |#endif
  |  | 5024|       |#if (HAVE_SYS_MMAN_H)
  |  | 5025|       |#  include <sys/mman.h>
  |  | 5026|       |#endif
  |  | 5027|       |#if (HAVE_SYS_RESOURCE_H)
  |  | 5028|       |#  include <sys/resource.h>
  |  | 5029|       |#endif
  |  | 5030|       |#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  | 5031|       |#  if defined(FP_OFF)
  |  | 5032|       |#    define ACC_PTR_FP_OFF(x)   FP_OFF(x)
  |  | 5033|       |#  elif defined(_FP_OFF)
  |  | 5034|       |#    define ACC_PTR_FP_OFF(x)   _FP_OFF(x)
  |  | 5035|       |#  else
  |  | 5036|       |#    define ACC_PTR_FP_OFF(x)   (((const unsigned __far*)&(x))[0])
  |  | 5037|       |#  endif
  |  | 5038|       |#  if defined(FP_SEG)
  |  | 5039|       |#    define ACC_PTR_FP_SEG(x)   FP_SEG(x)
  |  | 5040|       |#  elif defined(_FP_SEG)
  |  | 5041|       |#    define ACC_PTR_FP_SEG(x)   _FP_SEG(x)
  |  | 5042|       |#  else
  |  | 5043|       |#    define ACC_PTR_FP_SEG(x)   (((const unsigned __far*)&(x))[1])
  |  | 5044|       |#  endif
  |  | 5045|       |#  if defined(MK_FP)
  |  | 5046|       |#    define ACC_PTR_MK_FP(s,o)  MK_FP(s,o)
  |  | 5047|       |#  elif defined(_MK_FP)
  |  | 5048|       |#    define ACC_PTR_MK_FP(s,o)  _MK_FP(s,o)
  |  | 5049|       |#  else
  |  | 5050|       |#    define ACC_PTR_MK_FP(s,o)  ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
  |  | 5051|       |#  endif
  |  | 5052|       |#  if 0
  |  | 5053|       |#    undef ACC_PTR_FP_OFF
  |  | 5054|       |#    undef ACC_PTR_FP_SEG
  |  | 5055|       |#    undef ACC_PTR_MK_FP
  |  | 5056|       |#    define ACC_PTR_FP_OFF(x)   (((const unsigned __far*)&(x))[0])
  |  | 5057|       |#    define ACC_PTR_FP_SEG(x)   (((const unsigned __far*)&(x))[1])
  |  | 5058|       |#    define ACC_PTR_MK_FP(s,o)  ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
  |  | 5059|       |#  endif
  |  | 5060|       |#endif
  |  | 5061|       |#endif
  |  | 5062|       |#endif
  |  | 5063|       |#endif
  |  | 5064|       |#if defined(ACC_WANT_ACC_LIB_H)
  |  | 5065|       |#  undef ACC_WANT_ACC_LIB_H
  |  | 5066|       |#ifndef __ACC_LIB_H_INCLUDED
  |  | 5067|       |#define __ACC_LIB_H_INCLUDED 1
  |  | 5068|       |#if !defined(__ACCLIB_FUNCNAME)
  |  | 5069|       |#  define __ACCLIB_FUNCNAME(f)  f
  |  | 5070|       |#endif
  |  | 5071|       |#if !defined(ACCLIB_EXTERN)
  |  | 5072|       |#  define ACCLIB_EXTERN(r,f)                extern r __ACCLIB_FUNCNAME(f)
  |  | 5073|       |#endif
  |  | 5074|       |#if !defined(ACCLIB_EXTERN_NOINLINE)
  |  | 5075|       |#  if defined(__acc_noinline)
  |  | 5076|       |#    define ACCLIB_EXTERN_NOINLINE(r,f)     extern __acc_noinline r __ACCLIB_FUNCNAME(f)
  |  | 5077|       |#  else
  |  | 5078|       |#    define ACCLIB_EXTERN_NOINLINE(r,f)     extern r __ACCLIB_FUNCNAME(f)
  |  | 5079|       |#  endif
  |  | 5080|       |#endif
  |  | 5081|       |#if (ACC_SIZEOF_LONG > ACC_SIZEOF_VOID_P)
  |  | 5082|       |#  define acclib_handle_t       long
  |  | 5083|       |#else
  |  | 5084|       |#  define acclib_handle_t       acc_intptr_t
  |  | 5085|       |#endif
  |  | 5086|       |#if 0
  |  | 5087|       |ACCLIB_EXTERN(int, acc_ascii_digit)   (int);
  |  | 5088|       |ACCLIB_EXTERN(int, acc_ascii_islower) (int);
  |  | 5089|       |ACCLIB_EXTERN(int, acc_ascii_isupper) (int);
  |  | 5090|       |ACCLIB_EXTERN(int, acc_ascii_tolower) (int);
  |  | 5091|       |ACCLIB_EXTERN(int, acc_ascii_toupper) (int);
  |  | 5092|       |ACCLIB_EXTERN(int, acc_ascii_utolower) (int);
  |  | 5093|       |ACCLIB_EXTERN(int, acc_ascii_utoupper) (int);
  |  | 5094|       |#endif
  |  | 5095|       |#define acc_ascii_isdigit(c)    ((ACC_ICAST(unsigned, c) - 48) < 10)
  |  | 5096|       |#define acc_ascii_islower(c)    ((ACC_ICAST(unsigned, c) - 97) < 26)
  |  | 5097|       |#define acc_ascii_isupper(c)    ((ACC_ICAST(unsigned, c) - 65) < 26)
  |  | 5098|       |#define acc_ascii_tolower(c)    (ACC_ICAST(int, c) + (acc_ascii_isupper(c) << 5))
  |  | 5099|       |#define acc_ascii_toupper(c)    (ACC_ICAST(int, c) - (acc_ascii_islower(c) << 5))
  |  | 5100|       |#define acc_ascii_utolower(c)   acc_ascii_tolower(ACC_ITRUNC(unsigned char, c))
  |  | 5101|       |#define acc_ascii_utoupper(c)   acc_ascii_toupper(ACC_ITRUNC(unsigned char, c))
  |  | 5102|       |#ifndef acc_hsize_t
  |  | 5103|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 5104|       |#  define acc_hsize_t   unsigned long
  |  | 5105|       |#  define acc_hvoid_p   void __huge *
  |  | 5106|       |#  define acc_hchar_p   char __huge *
  |  | 5107|       |#  define acc_hchar_pp  char __huge * __huge *
  |  | 5108|       |#  define acc_hbyte_p   unsigned char __huge *
  |  | 5109|       |#else
  |  | 5110|       |#  define acc_hsize_t   size_t
  |  | 5111|       |#  define acc_hvoid_p   void *
  |  | 5112|       |#  define acc_hchar_p   char *
  |  | 5113|       |#  define acc_hchar_pp  char **
  |  | 5114|       |#  define acc_hbyte_p   unsigned char *
  |  | 5115|       |#endif
  |  | 5116|       |#endif
  |  | 5117|       |ACCLIB_EXTERN(acc_hvoid_p, acc_halloc) (acc_hsize_t);
  |  | 5118|       |ACCLIB_EXTERN(void, acc_hfree) (acc_hvoid_p);
  |  | 5119|       |#if (ACC_OS_DOS16 || ACC_OS_OS216)
  |  | 5120|       |ACCLIB_EXTERN(void __far*, acc_dos_alloc) (unsigned long);
  |  | 5121|       |ACCLIB_EXTERN(int, acc_dos_free) (void __far*);
  |  | 5122|       |#endif
  |  | 5123|       |ACCLIB_EXTERN(int, acc_hmemcmp) (const acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
  |  | 5124|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemcpy) (acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
  |  | 5125|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemmove) (acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
  |  | 5126|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemset) (acc_hvoid_p, int, acc_hsize_t);
  |  | 5127|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrlen) (const acc_hchar_p);
  |  | 5128|       |ACCLIB_EXTERN(int, acc_hstrcmp) (const acc_hchar_p, const acc_hchar_p);
  |  | 5129|       |ACCLIB_EXTERN(int, acc_hstrncmp)(const acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5130|       |ACCLIB_EXTERN(int, acc_ascii_hstricmp) (const acc_hchar_p, const acc_hchar_p);
  |  | 5131|       |ACCLIB_EXTERN(int, acc_ascii_hstrnicmp)(const acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5132|       |ACCLIB_EXTERN(int, acc_ascii_hmemicmp) (const acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
  |  | 5133|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrstr) (const acc_hchar_p, const acc_hchar_p);
  |  | 5134|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstristr) (const acc_hchar_p, const acc_hchar_p);
  |  | 5135|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemmem) (const acc_hvoid_p, acc_hsize_t, const acc_hvoid_p, acc_hsize_t);
  |  | 5136|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemimem) (const acc_hvoid_p, acc_hsize_t, const acc_hvoid_p, acc_hsize_t);
  |  | 5137|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrcpy) (acc_hchar_p, const acc_hchar_p);
  |  | 5138|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrcat) (acc_hchar_p, const acc_hchar_p);
  |  | 5139|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrlcpy) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5140|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrlcat) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5141|       |ACCLIB_EXTERN(int, acc_hstrscpy) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5142|       |ACCLIB_EXTERN(int, acc_hstrscat) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5143|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrccpy) (acc_hchar_p, const acc_hchar_p, int);
  |  | 5144|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemccpy) (acc_hvoid_p, const acc_hvoid_p, int, acc_hsize_t);
  |  | 5145|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrchr)  (const acc_hchar_p, int);
  |  | 5146|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrrchr) (const acc_hchar_p, int);
  |  | 5147|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrichr) (const acc_hchar_p, int);
  |  | 5148|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrrichr) (const acc_hchar_p, int);
  |  | 5149|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemchr)  (const acc_hvoid_p, int, acc_hsize_t);
  |  | 5150|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemrchr) (const acc_hvoid_p, int, acc_hsize_t);
  |  | 5151|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemichr) (const acc_hvoid_p, int, acc_hsize_t);
  |  | 5152|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemrichr) (const acc_hvoid_p, int, acc_hsize_t);
  |  | 5153|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrspn)  (const acc_hchar_p, const acc_hchar_p);
  |  | 5154|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrrspn) (const acc_hchar_p, const acc_hchar_p);
  |  | 5155|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrcspn)  (const acc_hchar_p, const acc_hchar_p);
  |  | 5156|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrrcspn) (const acc_hchar_p, const acc_hchar_p);
  |  | 5157|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrpbrk)  (const acc_hchar_p, const acc_hchar_p);
  |  | 5158|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrrpbrk) (const acc_hchar_p, const acc_hchar_p);
  |  | 5159|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrsep)  (acc_hchar_pp, const acc_hchar_p);
  |  | 5160|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrrsep) (acc_hchar_pp, const acc_hchar_p);
  |  | 5161|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrlwr) (acc_hchar_p);
  |  | 5162|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrupr) (acc_hchar_p);
  |  | 5163|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemlwr) (acc_hvoid_p, acc_hsize_t);
  |  | 5164|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemupr) (acc_hvoid_p, acc_hsize_t);
  |  | 5165|       |ACCLIB_EXTERN(acc_hsize_t, acc_hfread) (void *, acc_hvoid_p, acc_hsize_t);
  |  | 5166|       |ACCLIB_EXTERN(acc_hsize_t, acc_hfwrite) (void *, const acc_hvoid_p, acc_hsize_t);
  |  | 5167|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 5168|       |ACCLIB_EXTERN(long, acc_hread) (int, acc_hvoid_p, long);
  |  | 5169|       |ACCLIB_EXTERN(long, acc_hwrite) (int, const acc_hvoid_p, long);
  |  | 5170|       |#endif
  |  | 5171|       |ACCLIB_EXTERN(long, acc_safe_hread) (int, acc_hvoid_p, long);
  |  | 5172|       |ACCLIB_EXTERN(long, acc_safe_hwrite) (int, const acc_hvoid_p, long);
  |  | 5173|       |ACCLIB_EXTERN(unsigned, acc_ua_get_be16) (const acc_hvoid_p);
  |  | 5174|       |ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be24) (const acc_hvoid_p);
  |  | 5175|       |ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be32) (const acc_hvoid_p);
  |  | 5176|       |ACCLIB_EXTERN(void, acc_ua_set_be16) (acc_hvoid_p, unsigned);
  |  | 5177|       |ACCLIB_EXTERN(void, acc_ua_set_be24) (acc_hvoid_p, acc_uint32l_t);
  |  | 5178|       |ACCLIB_EXTERN(void, acc_ua_set_be32) (acc_hvoid_p, acc_uint32l_t);
  |  | 5179|       |ACCLIB_EXTERN(unsigned, acc_ua_get_le16) (const acc_hvoid_p);
  |  | 5180|       |ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le24) (const acc_hvoid_p);
  |  | 5181|       |ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le32) (const acc_hvoid_p);
  |  | 5182|       |ACCLIB_EXTERN(void, acc_ua_set_le16) (acc_hvoid_p, unsigned);
  |  | 5183|       |ACCLIB_EXTERN(void, acc_ua_set_le24) (acc_hvoid_p, acc_uint32l_t);
  |  | 5184|       |ACCLIB_EXTERN(void, acc_ua_set_le32) (acc_hvoid_p, acc_uint32l_t);
  |  | 5185|       |#if defined(acc_int64l_t)
  |  | 5186|       |ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p);
  |  | 5187|       |ACCLIB_EXTERN(void, acc_ua_set_be64) (acc_hvoid_p, acc_uint64l_t);
  |  | 5188|       |ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p);
  |  | 5189|       |ACCLIB_EXTERN(void, acc_ua_set_le64) (acc_hvoid_p, acc_uint64l_t);
  |  | 5190|       |#endif
  |  | 5191|       |ACCLIB_EXTERN_NOINLINE(short, acc_vget_short) (short, int);
  |  | 5192|       |ACCLIB_EXTERN_NOINLINE(int, acc_vget_int) (int, int);
  |  | 5193|       |ACCLIB_EXTERN_NOINLINE(long, acc_vget_long) (long, int);
  |  | 5194|       |#if defined(acc_int64l_t)
  |  | 5195|       |ACCLIB_EXTERN_NOINLINE(acc_int64l_t, acc_vget_acc_int64l_t) (acc_int64l_t, int);
  |  | 5196|       |#endif
  |  | 5197|       |ACCLIB_EXTERN_NOINLINE(acc_hsize_t, acc_vget_acc_hsize_t) (acc_hsize_t, int);
  |  | 5198|       |#if !(ACC_CFG_NO_FLOAT)
  |  | 5199|       |ACCLIB_EXTERN_NOINLINE(float, acc_vget_float) (float, int);
  |  | 5200|       |#endif
  |  | 5201|       |#if !(ACC_CFG_NO_DOUBLE)
  |  | 5202|       |ACCLIB_EXTERN_NOINLINE(double, acc_vget_double) (double, int);
  |  | 5203|       |#endif
  |  | 5204|       |ACCLIB_EXTERN_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_p) (acc_hvoid_p, int);
  |  | 5205|       |ACCLIB_EXTERN_NOINLINE(const acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p, int);
  |  | 5206|       |#if !defined(ACC_FN_PATH_MAX)
  |  | 5207|       |#if (ACC_OS_DOS16 || ACC_OS_WIN16)
  |  | 5208|       |#  define ACC_FN_PATH_MAX   143
  |  | 5209|       |#elif (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 5210|       |#  define ACC_FN_PATH_MAX   259
  |  | 5211|       |#elif (ACC_OS_TOS)
  |  | 5212|       |#  define ACC_FN_PATH_MAX   259
  |  | 5213|       |#endif
  |  | 5214|       |#endif
  |  | 5215|       |#if !defined(ACC_FN_PATH_MAX)
  |  | 5216|       |#  define ACC_FN_PATH_MAX   1023
  |  | 5217|       |#endif
  |  | 5218|       |#if !defined(ACC_FN_NAME_MAX)
  |  | 5219|       |#if (ACC_OS_DOS16 || ACC_OS_WIN16)
  |  | 5220|       |#  define ACC_FN_NAME_MAX   12
  |  | 5221|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 5222|       |#  define ACC_FN_NAME_MAX   12
  |  | 5223|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 5224|       |#elif (ACC_OS_DOS32)
  |  | 5225|       |#  define ACC_FN_NAME_MAX   12
  |  | 5226|       |#endif
  |  | 5227|       |#endif
  |  | 5228|       |#if !defined(ACC_FN_NAME_MAX)
  |  | 5229|       |#  define ACC_FN_NAME_MAX   ACC_FN_PATH_MAX
  |  | 5230|       |#endif
  |  | 5231|       |#define ACC_FNMATCH_NOESCAPE        1
  |  | 5232|       |#define ACC_FNMATCH_PATHNAME        2
  |  | 5233|       |#define ACC_FNMATCH_PATHSTAR        4
  |  | 5234|       |#define ACC_FNMATCH_PERIOD          8
  |  | 5235|       |#define ACC_FNMATCH_ASCII_CASEFOLD  16
  |  | 5236|       |ACCLIB_EXTERN(int, acc_fnmatch) (const acc_hchar_p, const acc_hchar_p, int);
  |  | 5237|       |#undef __ACCLIB_USE_OPENDIR
  |  | 5238|       |#if (HAVE_DIRENT_H || ACC_CC_WATCOMC)
  |  | 5239|       |#  define __ACCLIB_USE_OPENDIR 1
  |  | 5240|       |#  if (ACC_OS_DOS32 && defined(__BORLANDC__))
  |  | 5241|       |#  elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 5242|       |#  elif (ACC_OS_OS2 || ACC_OS_OS216)
  |  | 5243|       |#  elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
  |  | 5244|       |#  elif (ACC_OS_WIN32 && !(ACC_HAVE_WINDOWS_H))
  |  | 5245|       |#  elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_TOS || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 5246|       |#    undef __ACCLIB_USE_OPENDIR
  |  | 5247|       |#  endif
  |  | 5248|       |#endif
  |  | 5249|       |typedef struct
  |  | 5250|       |{
  |  | 5251|       |#if defined(__ACCLIB_USE_OPENDIR)
  |  | 5252|       |    void* u_dirp;
  |  | 5253|       |# if (ACC_CC_WATCOMC)
  |  | 5254|       |    unsigned short f_time;
  |  | 5255|       |    unsigned short f_date;
  |  | 5256|       |    unsigned long f_size;
  |  | 5257|       |# endif
  |  | 5258|       |    char f_name[ACC_FN_NAME_MAX+1];
  |  | 5259|       |#elif (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 5260|       |    acclib_handle_t u_handle;
  |  | 5261|       |    unsigned f_attr;
  |  | 5262|       |    unsigned f_size_low;
  |  | 5263|       |    unsigned f_size_high;
  |  | 5264|       |    char f_name[ACC_FN_NAME_MAX+1];
  |  | 5265|       |#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_TOS || ACC_OS_WIN16)
  |  | 5266|       |    char u_dta[21];
  |  | 5267|       |    unsigned char f_attr;
  |  | 5268|       |    unsigned short f_time;
  |  | 5269|       |    unsigned short f_date;
  |  | 5270|       |    unsigned short f_size_low;
  |  | 5271|       |    unsigned short f_size_high;
  |  | 5272|       |    char f_name[ACC_FN_NAME_MAX+1];
  |  | 5273|       |    char u_dirp;
  |  | 5274|       |#else
  |  | 5275|       |    void* u_dirp;
  |  | 5276|       |    char f_name[ACC_FN_NAME_MAX+1];
  |  | 5277|       |#endif
  |  | 5278|       |} acc_dir_t;
  |  | 5279|       |#ifndef acc_dir_p
  |  | 5280|       |#define acc_dir_p acc_dir_t *
  |  | 5281|       |#endif
  |  | 5282|       |ACCLIB_EXTERN(int, acc_opendir)  (acc_dir_p, const char*);
  |  | 5283|       |ACCLIB_EXTERN(int, acc_readdir)  (acc_dir_p);
  |  | 5284|       |ACCLIB_EXTERN(int, acc_closedir) (acc_dir_p);
  |  | 5285|       |#if (ACC_CC_GNUC) && (defined(__CYGWIN__) || defined(__MINGW32__))
  |  | 5286|       |#  define acc_alloca(x)     __builtin_alloca((x))
  |  | 5287|       |#elif (ACC_CC_GNUC) && (ACC_OS_CONSOLE_PS2)
  |  | 5288|       |#  define acc_alloca(x)     __builtin_alloca((x))
  |  | 5289|       |#elif (ACC_CC_BORLANDC || ACC_CC_LCC) && defined(__linux__)
  |  | 5290|       |#elif (HAVE_ALLOCA)
  |  | 5291|       |#  define acc_alloca(x)     ACC_STATIC_CAST(void *, alloca((x)))
  |  | 5292|       |#endif
  |  | 5293|       |#if (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 5294|       |#  define acc_stackavail()  stackavail()
  |  | 5295|       |#elif (ACC_ARCH_I086 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0410))
  |  | 5296|       |#  define acc_stackavail()  stackavail()
  |  | 5297|       |#elif (ACC_ARCH_I086 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0400))
  |  | 5298|       |#  if (ACC_OS_WIN16) && (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 5299|       |#  else
  |  | 5300|       |#    define acc_stackavail()  stackavail()
  |  | 5301|       |#  endif
  |  | 5302|       |#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_CC_DMC || ACC_CC_SYMANTECC))
  |  | 5303|       |#  define acc_stackavail()  stackavail()
  |  | 5304|       |#elif ((ACC_ARCH_I086) && ACC_CC_MSC && (_MSC_VER >= 700))
  |  | 5305|       |#  define acc_stackavail()  _stackavail()
  |  | 5306|       |#elif ((ACC_ARCH_I086) && ACC_CC_MSC)
  |  | 5307|       |#  define acc_stackavail()  stackavail()
  |  | 5308|       |#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && ACC_CC_TURBOC && (__TURBOC__ >= 0x0450))
  |  | 5309|       |#  define acc_stackavail()  stackavail()
  |  | 5310|       |#elif (ACC_ARCH_I086 && ACC_CC_TURBOC && (__TURBOC__ >= 0x0400))
  |  | 5311|       |   ACC_EXTERN_C size_t __cdecl stackavail(void);
  |  | 5312|       |#  define acc_stackavail()  stackavail()
  |  | 5313|       |#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_CC_WATCOMC))
  |  | 5314|       |#  define acc_stackavail()  stackavail()
  |  | 5315|       |#elif (ACC_ARCH_I086 && ACC_CC_ZORTECHC)
  |  | 5316|       |#  define acc_stackavail()  _chkstack()
  |  | 5317|       |#endif
  |  | 5318|       |ACCLIB_EXTERN(acc_intptr_t, acc_get_osfhandle) (int);
  |  | 5319|       |ACCLIB_EXTERN(const char *, acc_getenv) (const char *);
  |  | 5320|       |ACCLIB_EXTERN(int, acc_isatty) (int);
  |  | 5321|       |ACCLIB_EXTERN(int, acc_mkdir) (const char*, unsigned);
  |  | 5322|       |ACCLIB_EXTERN(int, acc_rmdir) (const char*);
  |  | 5323|       |ACCLIB_EXTERN(int, acc_response) (int*, char***);
  |  | 5324|       |ACCLIB_EXTERN(int, acc_set_binmode) (int, int);
  |  | 5325|       |#if defined(acc_int32e_t)
  |  | 5326|       |ACCLIB_EXTERN(acc_int32e_t, acc_muldiv32s) (acc_int32e_t, acc_int32e_t, acc_int32e_t);
  |  | 5327|       |ACCLIB_EXTERN(acc_uint32e_t, acc_muldiv32u) (acc_uint32e_t, acc_uint32e_t, acc_uint32e_t);
  |  | 5328|       |#endif
  |  | 5329|       |ACCLIB_EXTERN(void, acc_wildargv) (int*, char***);
  |  | 5330|       |ACCLIB_EXTERN_NOINLINE(void, acc_debug_break) (void);
  |  | 5331|       |ACCLIB_EXTERN_NOINLINE(void, acc_debug_nop) (void);
  |  | 5332|       |ACCLIB_EXTERN_NOINLINE(int, acc_debug_align_check_query) (void);
  |  | 5333|       |ACCLIB_EXTERN_NOINLINE(int, acc_debug_align_check_enable) (int);
  |  | 5334|       |ACCLIB_EXTERN_NOINLINE(unsigned, acc_debug_running_on_qemu) (void);
  |  | 5335|       |ACCLIB_EXTERN_NOINLINE(unsigned, acc_debug_running_on_valgrind) (void);
  |  | 5336|       |#if defined(acc_int32e_t)
  |  | 5337|       |ACCLIB_EXTERN(int, acc_tsc_read) (acc_uint32e_t*);
  |  | 5338|       |#endif
  |  | 5339|       |struct acc_pclock_handle_t;
  |  | 5340|       |struct acc_pclock_t;
  |  | 5341|       |typedef struct acc_pclock_handle_t acc_pclock_handle_t;
  |  | 5342|       |typedef struct acc_pclock_t acc_pclock_t;
  |  | 5343|       |#ifndef acc_pclock_handle_p
  |  | 5344|       |#define acc_pclock_handle_p acc_pclock_handle_t *
  |  | 5345|       |#endif
  |  | 5346|       |#ifndef acc_pclock_p
  |  | 5347|       |#define acc_pclock_p acc_pclock_t *
  |  | 5348|       |#endif
  |  | 5349|       |#define ACC_PCLOCK_REALTIME             0
  |  | 5350|       |#define ACC_PCLOCK_MONOTONIC            1
  |  | 5351|       |#define ACC_PCLOCK_PROCESS_CPUTIME_ID   2
  |  | 5352|       |#define ACC_PCLOCK_THREAD_CPUTIME_ID    3
  |  | 5353|       |typedef int (*acc_pclock_gettime_t) (acc_pclock_handle_p, acc_pclock_p);
  |  | 5354|       |struct acc_pclock_handle_t {
  |  | 5355|       |    acclib_handle_t h;
  |  | 5356|       |    int mode;
  |  | 5357|       |    int read_error;
  |  | 5358|       |    const char* name;
  |  | 5359|       |    acc_pclock_gettime_t gettime;
  |  | 5360|       |#if defined(acc_int64l_t)
  |  | 5361|       |    acc_uint64l_t ticks_base;
  |  | 5362|       |#endif
  |  | 5363|       |};
  |  | 5364|       |struct acc_pclock_t {
  |  | 5365|       |#if defined(acc_int64l_t)
  |  | 5366|       |    acc_int64l_t tv_sec;
  |  | 5367|       |#else
  |  | 5368|       |    acc_int32l_t tv_sec_high;
  |  | 5369|       |    acc_uint32l_t tv_sec_low;
  |  | 5370|       |#endif
  |  | 5371|       |    acc_uint32l_t tv_nsec;
  |  | 5372|       |};
  |  | 5373|       |ACCLIB_EXTERN(int, acc_pclock_open)  (acc_pclock_handle_p, int);
  |  | 5374|       |ACCLIB_EXTERN(int, acc_pclock_open_default) (acc_pclock_handle_p);
  |  | 5375|       |ACCLIB_EXTERN(int, acc_pclock_close) (acc_pclock_handle_p);
  |  | 5376|       |ACCLIB_EXTERN(void, acc_pclock_read) (acc_pclock_handle_p, acc_pclock_p);
  |  | 5377|       |#if !(ACC_CFG_NO_DOUBLE)
  |  | 5378|       |ACCLIB_EXTERN(double, acc_pclock_get_elapsed) (acc_pclock_handle_p, const acc_pclock_p, const acc_pclock_p);
  |  | 5379|       |#endif
  |  | 5380|       |ACCLIB_EXTERN(int, acc_pclock_flush_cpu_cache) (acc_pclock_handle_p, unsigned);
  |  | 5381|       |struct acc_getopt_t;
  |  | 5382|       |typedef struct acc_getopt_t acc_getopt_t;
  |  | 5383|       |#ifndef acc_getopt_p
  |  | 5384|       |#define acc_getopt_p acc_getopt_t *
  |  | 5385|       |#endif
  |  | 5386|       |struct acc_getopt_longopt_t;
  |  | 5387|       |typedef struct acc_getopt_longopt_t acc_getopt_longopt_t;
  |  | 5388|       |#ifndef acc_getopt_longopt_p
  |  | 5389|       |#define acc_getopt_longopt_p acc_getopt_longopt_t *
  |  | 5390|       |#endif
  |  | 5391|       |struct acc_getopt_longopt_t {
  |  | 5392|       |    const char* name;
  |  | 5393|       |    int has_arg;
  |  | 5394|       |    int* flag;
  |  | 5395|       |    int val;
  |  | 5396|       |};
  |  | 5397|       |typedef void (*acc_getopt_opterr_t)(acc_getopt_p, const char*, void *);
  |  | 5398|       |struct acc_getopt_t {
  |  | 5399|       |    void *user;
  |  | 5400|       |    const char *progname;
  |  | 5401|       |    int bad_option;
  |  | 5402|       |    char *optarg;
  |  | 5403|       |    acc_getopt_opterr_t opterr;
  |  | 5404|       |    int optind;
  |  | 5405|       |    int optopt;
  |  | 5406|       |    int errcount;
  |  | 5407|       |    int argc; char** argv;
  |  | 5408|       |    int eof; int shortpos;
  |  | 5409|       |    int pending_rotate_first, pending_rotate_middle;
  |  | 5410|       |};
  |  | 5411|       |enum { ACC_GETOPT_NO_ARG, ACC_GETOPT_REQUIRED_ARG, ACC_GETOPT_OPTIONAL_ARG, ACC_GETOPT_EXACT_ARG = 0x10 };
  |  | 5412|       |enum { ACC_GETOPT_PERMUTE, ACC_GETOPT_RETURN_IN_ORDER, ACC_GETOPT_REQUIRE_ORDER };
  |  | 5413|       |ACCLIB_EXTERN(void, acc_getopt_init) (acc_getopt_p g,
  |  | 5414|       |                                      int start_argc, int argc, char** argv);
  |  | 5415|       |ACCLIB_EXTERN(int, acc_getopt) (acc_getopt_p g,
  |  | 5416|       |                                const char* shortopts,
  |  | 5417|       |                                const acc_getopt_longopt_p longopts,
  |  | 5418|       |                                int* longind);
  |  | 5419|       |typedef struct {
  |  | 5420|       |    acc_uint32l_t seed;
  |  | 5421|       |} acc_rand31_t;
  |  | 5422|       |#ifndef acc_rand31_p
  |  | 5423|       |#define acc_rand31_p acc_rand31_t *
  |  | 5424|       |#endif
  |  | 5425|       |ACCLIB_EXTERN(void, acc_srand31) (acc_rand31_p, acc_uint32l_t);
  |  | 5426|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand31) (acc_rand31_p);
  |  | 5427|       |#if defined(acc_int64l_t)
  |  | 5428|       |typedef struct {
  |  | 5429|       |    acc_uint64l_t seed;
  |  | 5430|       |} acc_rand48_t;
  |  | 5431|       |#ifndef acc_rand48_p
  |  | 5432|       |#define acc_rand48_p acc_rand48_t *
  |  | 5433|       |#endif
  |  | 5434|       |ACCLIB_EXTERN(void, acc_srand48) (acc_rand48_p, acc_uint32l_t);
  |  | 5435|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand48) (acc_rand48_p);
  |  | 5436|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand48_r32) (acc_rand48_p);
  |  | 5437|       |#endif
  |  | 5438|       |#if defined(acc_int64l_t)
  |  | 5439|       |typedef struct {
  |  | 5440|       |    acc_uint64l_t seed;
  |  | 5441|       |} acc_rand64_t;
  |  | 5442|       |#ifndef acc_rand64_p
  |  | 5443|       |#define acc_rand64_p acc_rand64_t *
  |  | 5444|       |#endif
  |  | 5445|       |ACCLIB_EXTERN(void, acc_srand64) (acc_rand64_p, acc_uint64l_t);
  |  | 5446|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand64) (acc_rand64_p);
  |  | 5447|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand64_r32) (acc_rand64_p);
  |  | 5448|       |#endif
  |  | 5449|       |typedef struct {
  |  | 5450|       |    unsigned n;
  |  | 5451|       |    acc_uint32l_t s[624];
  |  | 5452|       |} acc_randmt_t;
  |  | 5453|       |#ifndef acc_randmt_p
  |  | 5454|       |#define acc_randmt_p acc_randmt_t *
  |  | 5455|       |#endif
  |  | 5456|       |ACCLIB_EXTERN(void, acc_srandmt) (acc_randmt_p, acc_uint32l_t);
  |  | 5457|       |ACCLIB_EXTERN(acc_uint32l_t, acc_randmt) (acc_randmt_p);
  |  | 5458|       |ACCLIB_EXTERN(acc_uint32l_t, acc_randmt_r32) (acc_randmt_p);
  |  | 5459|       |#if defined(acc_int64l_t)
  |  | 5460|       |typedef struct {
  |  | 5461|       |    unsigned n;
  |  | 5462|       |    acc_uint64l_t s[312];
  |  | 5463|       |} acc_randmt64_t;
  |  | 5464|       |#ifndef acc_randmt64_p
  |  | 5465|       |#define acc_randmt64_p acc_randmt64_t *
  |  | 5466|       |#endif
  |  | 5467|       |ACCLIB_EXTERN(void, acc_srandmt64) (acc_randmt64_p, acc_uint64l_t);
  |  | 5468|       |ACCLIB_EXTERN(acc_uint64l_t, acc_randmt64_r64) (acc_randmt64_p);
  |  | 5469|       |#endif
  |  | 5470|       |#define ACC_SPAWN_P_WAIT    0
  |  | 5471|       |#define ACC_SPAWN_P_NOWAIT  1
  |  | 5472|       |ACCLIB_EXTERN(int, acc_spawnv)  (int mode, const char* fn, const char* const * argv);
  |  | 5473|       |ACCLIB_EXTERN(int, acc_spawnvp) (int mode, const char* fn, const char* const * argv);
  |  | 5474|       |ACCLIB_EXTERN(int, acc_spawnve) (int mode, const char* fn, const char* const * argv, const char * const envp);
  |  | 5475|       |#endif
  |  | 5476|       |#endif
  |  | 5477|       |#if defined(ACC_WANT_ACC_CXX_H)
  |  | 5478|       |#  undef ACC_WANT_ACC_CXX_H
  |  | 5479|       |#ifndef __ACC_CXX_H_INCLUDED
  |  | 5480|       |#define __ACC_CXX_H_INCLUDED 1
  |  | 5481|       |#if defined(__cplusplus)
  |  | 5482|       |#if defined(ACC_CXX_NOTHROW)
  |  | 5483|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul))
  |  | 5484|       |#elif (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0450))
  |  | 5485|       |#elif (ACC_CC_GHS && !defined(__EXCEPTIONS))
  |  | 5486|       |#elif (ACC_CC_HIGHC)
  |  | 5487|       |#elif (ACC_CC_MSC && (_MSC_VER < 1100))
  |  | 5488|       |#elif (ACC_CC_NDPC)
  |  | 5489|       |#elif (ACC_CC_TURBOC)
  |  | 5490|       |#elif (ACC_CC_WATCOMC && !defined(_CPPUNWIND))
  |  | 5491|       |#elif (ACC_CC_ZORTECHC)
  |  | 5492|       |#else
  |  | 5493|       |#  define ACC_CXX_NOTHROW           throw()
  |  | 5494|       |#endif
  |  | 5495|       |#if !defined(ACC_CXX_NOTHROW)
  |  | 5496|       |#  define ACC_CXX_NOTHROW           /*empty*/
  |  | 5497|       |#endif
  |  | 5498|       |#if defined(__ACC_CXX_DO_NEW)
  |  | 5499|       |#elif (ACC_CC_GHS || ACC_CC_NDPC || ACC_CC_PGI)
  |  | 5500|       |#  define __ACC_CXX_DO_NEW          { return 0; }
  |  | 5501|       |#elif ((ACC_CC_BORLANDC || ACC_CC_TURBOC) && ACC_ARCH_I086)
  |  | 5502|       |#  define __ACC_CXX_DO_NEW          { return 0; }
  |  | 5503|       |#else
  |  | 5504|       |#  define __ACC_CXX_DO_NEW          ;
  |  | 5505|       |#endif
  |  | 5506|       |#if defined(__ACC_CXX_DO_DELETE)
  |  | 5507|       |#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 5508|       |#  define __ACC_CXX_DO_DELETE       { }
  |  | 5509|       |#else
  |  | 5510|       |#  define __ACC_CXX_DO_DELETE       ACC_CXX_NOTHROW { }
  |  | 5511|       |#endif
  |  | 5512|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0450))
  |  | 5513|       |#elif (ACC_CC_MSC && ACC_MM_HUGE)
  |  | 5514|       |#  define ACC_CXX_DISABLE_NEW_DELETE private:
  |  | 5515|       |#elif (ACC_CC_MSC && (_MSC_VER < 1100))
  |  | 5516|       |#elif (ACC_CC_NDPC)
  |  | 5517|       |#elif (ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 5518|       |#elif (ACC_CC_TURBOC)
  |  | 5519|       |#elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
  |  | 5520|       |#else
  |  | 5521|       |#  define __ACC_CXX_HAVE_ARRAY_NEW 1
  |  | 5522|       |#endif
  |  | 5523|       |#if (__ACC_CXX_HAVE_ARRAY_NEW)
  |  | 5524|       |#  define __ACC_CXX_HAVE_PLACEMENT_NEW 1
  |  | 5525|       |#endif
  |  | 5526|       |#if (__ACC_CXX_HAVE_PLACEMENT_NEW)
  |  | 5527|       |#  if (ACC_CC_GNUC >= 0x030000ul)
  |  | 5528|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5529|       |#  elif (ACC_CC_INTELC)
  |  | 5530|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5531|       |#  elif (ACC_CC_MSC && (_MSC_VER >= 1200))
  |  | 5532|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5533|       |#  elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 5534|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5535|       |#  elif (ACC_CC_PGI)
  |  | 5536|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5537|       |#  endif
  |  | 5538|       |#endif
  |  | 5539|       |#if defined(ACC_CXX_DISABLE_NEW_DELETE)
  |  | 5540|       |#elif defined(new) || defined(delete)
  |  | 5541|       |#  define ACC_CXX_DISABLE_NEW_DELETE private:
  |  | 5542|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025b00ul))
  |  | 5543|       |#  define ACC_CXX_DISABLE_NEW_DELETE private:
  |  | 5544|       |#elif  (ACC_CC_HIGHC)
  |  | 5545|       |#  define ACC_CXX_DISABLE_NEW_DELETE private:
  |  | 5546|       |#elif !(__ACC_CXX_HAVE_ARRAY_NEW)
  |  | 5547|       |#  define ACC_CXX_DISABLE_NEW_DELETE \
  |  | 5548|       |        protected: static void operator delete(void*) __ACC_CXX_DO_DELETE \
  |  | 5549|       |        protected: static void* operator new(size_t) __ACC_CXX_DO_NEW \
  |  | 5550|       |        private:
  |  | 5551|       |#else
  |  | 5552|       |#  define ACC_CXX_DISABLE_NEW_DELETE \
  |  | 5553|       |        protected: static void operator delete(void*) __ACC_CXX_DO_DELETE \
  |  | 5554|       |                   static void operator delete[](void*) __ACC_CXX_DO_DELETE \
  |  | 5555|       |        private:   static void* operator new(size_t)  __ACC_CXX_DO_NEW \
  |  | 5556|       |                   static void* operator new[](size_t) __ACC_CXX_DO_NEW
  |  | 5557|       |#endif
  |  | 5558|       |#if defined(ACC_CXX_TRIGGER_FUNCTION)
  |  | 5559|       |#else
  |  | 5560|       |#  define ACC_CXX_TRIGGER_FUNCTION \
  |  | 5561|       |        protected: virtual const void* acc_cxx_trigger_function() const; \
  |  | 5562|       |        private:
  |  | 5563|       |#endif
  |  | 5564|       |#if defined(ACC_CXX_TRIGGER_FUNCTION_IMPL)
  |  | 5565|       |#else
  |  | 5566|       |#  define ACC_CXX_TRIGGER_FUNCTION_IMPL(klass) \
  |  | 5567|       |        const void* klass::acc_cxx_trigger_function() const { return ACC_STATIC_CAST(const void *, ACC_nullptr); }
  |  | 5568|       |#endif
  |  | 5569|       |#endif
  |  | 5570|       |#endif
  |  | 5571|       |#endif
  |  | 5572|  31.8k|#if defined(ACC_WANT_ACC_CHK_CH)
  |  | 5573|  31.8k|#  undef ACC_WANT_ACC_CHK_CH
  |  | 5574|       |#if !defined(ACCCHK_ASSERT)
  |  | 5575|       |#  define ACCCHK_ASSERT(expr)   ACC_COMPILE_TIME_ASSERT_HEADER(expr)
  |  | 5576|       |#endif
  |  | 5577|       |#if !defined(ACCCHK_ASSERT_SIGN_T)
  |  | 5578|       |#  define ACCCHK_ASSERT_SIGN_T(type,relop) \
  |  | 5579|       |        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  | 5580|       |        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  | 5581|       |        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  | 5582|       |#endif
  |  | 5583|       |#if !defined(ACCCHK_ASSERT_IS_SIGNED_T)
  |  | 5584|       |#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  | 5585|       |#endif
  |  | 5586|       |#if !defined(ACCCHK_ASSERT_IS_UNSIGNED_T)
  |  | 5587|       |#  if (ACC_BROKEN_INTEGRAL_PROMOTION)
  |  | 5588|       |#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type) \
  |  | 5589|       |        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1) > ACC_STATIC_CAST(type, 0) )
  |  | 5590|       |#  else
  |  | 5591|       |#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  | 5592|       |#  endif
  |  | 5593|       |#endif
  |  | 5594|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5595|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0550) && (__BORLANDC__ < 0x0560))
  |  | 5596|       |#  pragma option push -w-8055
  |  | 5597|       |#elif (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0550))
  |  | 5598|       |#  pragma option push -w-osh
  |  | 5599|       |#endif
  |  | 5600|       |#endif
  |  | 5601|       |#if (ACC_0xffffffffL - ACC_UINT32_C(4294967294) != 1)
  |  | 5602|       |#  error "preprocessor error"
  |  | 5603|       |#endif
  |  | 5604|       |#if (ACC_0xffffffffL - ACC_UINT32_C(0xfffffffd) != 2)
  |  | 5605|       |#  error "preprocessor error"
  |  | 5606|       |#endif
  |  | 5607|       |#if +0
  |  | 5608|       |#  error "preprocessor error"
  |  | 5609|       |#endif
  |  | 5610|       |#if -0
  |  | 5611|       |#  error "preprocessor error"
  |  | 5612|       |#endif
  |  | 5613|       |#if +0 != 0
  |  | 5614|       |#  error "preprocessor error"
  |  | 5615|       |#endif
  |  | 5616|       |#if -0 != 0
  |  | 5617|       |#  error "preprocessor error"
  |  | 5618|       |#endif
  |  | 5619|  31.8k|#define ACCCHK_VAL  1
  |  | 5620|  31.8k|#define ACCCHK_TMP1 ACCCHK_VAL
  |  | 5621|  31.8k|#undef ACCCHK_VAL
  |  | 5622|  31.8k|#define ACCCHK_VAL  2
  |  | 5623|  31.8k|#define ACCCHK_TMP2 ACCCHK_VAL
  |  | 5624|       |#if (ACCCHK_TMP1 != 2)
  |  | 5625|       |#  error "preprocessor error 3a"
  |  | 5626|       |#endif
  |  | 5627|       |#if (ACCCHK_TMP2 != 2)
  |  | 5628|       |#  error "preprocessor error 3b"
  |  | 5629|       |#endif
  |  | 5630|  31.8k|#undef ACCCHK_VAL
  |  | 5631|       |#if (ACCCHK_TMP2)
  |  | 5632|       |#  error "preprocessor error 3c"
  |  | 5633|       |#endif
  |  | 5634|       |#if (ACCCHK_TMP2 + 0 != 0)
  |  | 5635|       |#  error "preprocessor error 3d"
  |  | 5636|       |#endif
  |  | 5637|  31.8k|#undef ACCCHK_TMP1
  |  | 5638|  31.8k|#undef ACCCHK_TMP2
  |  | 5639|       |#if 0 || defined(ACCCHK_CFG_PEDANTIC)
  |  | 5640|       |#  if (ACC_ARCH_MIPS) && defined(_MIPS_SZINT)
  |  | 5641|       |    ACCCHK_ASSERT((_MIPS_SZINT) == 8 * sizeof(int))
  |  | 5642|       |#  endif
  |  | 5643|       |#  if (ACC_ARCH_MIPS) && defined(_MIPS_SZLONG)
  |  | 5644|       |    ACCCHK_ASSERT((_MIPS_SZLONG) == 8 * sizeof(long))
  |  | 5645|       |#  endif
  |  | 5646|       |#  if (ACC_ARCH_MIPS) && defined(_MIPS_SZPTR)
  |  | 5647|       |    ACCCHK_ASSERT((_MIPS_SZPTR) == 8 * sizeof(void *))
  |  | 5648|       |#  endif
  |  | 5649|       |#endif
  |  | 5650|  31.8k|    ACCCHK_ASSERT(1 == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5651|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,1) == 1u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5652|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,2) == 3u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5653|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,3) == 7u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5654|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,8) == 255u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5655|  31.8k|#if (ACC_SIZEOF_INT >= 2)
  |  | 5656|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,15) == 32767)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5657|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,16) == 0xffffU)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5658|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0u,16) == 0u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5659|  31.8k|#endif
  |  | 5660|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,16) == 0xffffUL)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5661|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,16) == 0ul)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5662|  31.8k|#if (ACC_SIZEOF_INT >= 4)
  |  | 5663|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,31) == 2147483647)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5664|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,32) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5665|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0u,32) == 0u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5666|  31.8k|#endif
  |  | 5667|  31.8k|#if (ACC_SIZEOF_LONG >= 4)
  |  | 5668|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,32) == 0xffffffffUL)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5669|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,32) == 0ul)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5670|  31.8k|#endif
  |  | 5671|  31.8k|#if (ACC_SIZEOF_LONG >= 8)
  |  | 5672|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,64) == 0xffffffffffffffffUL)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5673|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,64) == 0ul)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5674|  31.8k|#endif
  |  | 5675|  31.8k|#if !(ACC_BROKEN_INTEGRAL_PROMOTION)
  |  | 5676|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,ACC_SIZEOF_INT*8) == ~0u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5677|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,ACC_SIZEOF_LONG*8) == ~0ul)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5678|  31.8k|#endif
  |  | 5679|  31.8k|#if 1
  |  | 5680|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0,0) == 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5681|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,0) == 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5682|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,0) == 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5683|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,0) == 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5684|  31.8k|#endif
  |  | 5685|  31.8k|#if 1
  |  | 5686|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,1) == 2)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5687|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,1) == 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5688|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,1) == 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5689|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,2) == 2+4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5690|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,2) == 4+8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5691|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,2) == 8+16)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5692|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,3) == 2+4+8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5693|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,3) == 4+8+16)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5694|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,3) == 8+16+32)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5695|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,1) == 7)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5696|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,2) == 7+14)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5697|  31.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,3) == 7+14+28)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5698|  31.8k|#endif
  |  | 5699|  31.8k|#if !(ACC_BROKEN_SIGNED_RIGHT_SHIFT)
  |  | 5700|  31.8k|    ACCCHK_ASSERT(((-1) >> 7) == -1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5701|  31.8k|#endif
  |  | 5702|  31.8k|    ACCCHK_ASSERT(((1)  >> 7) == 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5703|       |#if (ACC_CC_INTELC && (__INTEL_COMPILER >= 900))
  |  | 5704|       |#  pragma warning(push)
  |  | 5705|       |#  pragma warning(disable: 1025)
  |  | 5706|       |#endif
  |  | 5707|  31.8k|    ACCCHK_ASSERT((~0l  & ~0)  == ~0l)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5708|  31.8k|    ACCCHK_ASSERT((~0l  & ~0u) == ~0u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5709|  31.8k|    ACCCHK_ASSERT((~0ul & ~0)  == ~0ul)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5710|  31.8k|    ACCCHK_ASSERT((~0ul & ~0u) == ~0u)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5711|       |#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
  |  | 5712|       |#elif (ACC_SIZEOF_INT == 2)
  |  | 5713|       |    ACCCHK_ASSERT((~0l  & ~0u) == 0xffffU)
  |  | 5714|       |    ACCCHK_ASSERT((~0ul & ~0u) == 0xffffU)
  |  | 5715|       |#elif (ACC_SIZEOF_INT == 4)
  |  | 5716|  31.8k|    ACCCHK_ASSERT((~0l  & ~0u) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5717|  31.8k|    ACCCHK_ASSERT((~0ul & ~0u) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5718|  31.8k|#endif
  |  | 5719|       |#if (ACC_CC_INTELC && (__INTEL_COMPILER >= 900))
  |  | 5720|       |#  pragma warning(pop)
  |  | 5721|       |#endif
  |  | 5722|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(signed char)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5723|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned char)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5724|  31.8k|    ACCCHK_ASSERT(sizeof(signed char) == sizeof(char))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5725|  31.8k|    ACCCHK_ASSERT(sizeof(unsigned char) == sizeof(char))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5726|  31.8k|    ACCCHK_ASSERT(sizeof(char) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5727|       |#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
  |  | 5728|       |#else
  |  | 5729|  31.8k|    ACCCHK_ASSERT(sizeof(char) == sizeof(ACC_STATIC_CAST(char, 0)))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5730|  31.8k|#endif
  |  | 5731|  31.8k|#if defined(__cplusplus)
  |  | 5732|  31.8k|    ACCCHK_ASSERT(sizeof('\0') == sizeof(char))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5733|       |#else
  |  | 5734|       |#  if (ACC_CC_DMC)
  |  | 5735|       |#  else
  |  | 5736|       |    ACCCHK_ASSERT(sizeof('\0') == sizeof(int))
  |  | 5737|       |#  endif
  |  | 5738|       |#endif
  |  | 5739|  31.8k|#if defined(__acc_alignof)
  |  | 5740|  31.8k|    ACCCHK_ASSERT(__acc_alignof(char) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5741|  31.8k|    ACCCHK_ASSERT(__acc_alignof(signed char) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5742|  31.8k|    ACCCHK_ASSERT(__acc_alignof(unsigned char) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5743|  31.8k|#if defined(acc_int16e_t)
  |  | 5744|  31.8k|    ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) >= 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5745|  31.8k|    ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) <= 2)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5746|  31.8k|#endif
  |  | 5747|  31.8k|#if defined(acc_int32e_t)
  |  | 5748|  31.8k|    ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) >= 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5749|  31.8k|    ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) <= 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5750|  31.8k|#endif
  |  | 5751|  31.8k|#endif
  |  | 5752|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(short)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5753|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned short)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5754|  31.8k|    ACCCHK_ASSERT(sizeof(short) == sizeof(unsigned short))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5755|  31.8k|#if !(ACC_ABI_I8LP16)
  |  | 5756|  31.8k|    ACCCHK_ASSERT(sizeof(short) >= 2)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5757|  31.8k|#endif
  |  | 5758|  31.8k|    ACCCHK_ASSERT(sizeof(short) >= sizeof(char))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5759|       |#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
  |  | 5760|       |#else
  |  | 5761|  31.8k|    ACCCHK_ASSERT(sizeof(short) == sizeof(ACC_STATIC_CAST(short, 0)))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5762|  31.8k|#endif
  |  | 5763|  31.8k|#if (ACC_SIZEOF_SHORT > 0)
  |  | 5764|  31.8k|    ACCCHK_ASSERT(sizeof(short) == ACC_SIZEOF_SHORT)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5765|  31.8k|#endif
  |  | 5766|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(int)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5767|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5768|  31.8k|    ACCCHK_ASSERT(sizeof(int) == sizeof(unsigned))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5769|  31.8k|#if !(ACC_ABI_I8LP16)
  |  | 5770|  31.8k|    ACCCHK_ASSERT(sizeof(int) >= 2)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5771|  31.8k|#endif
  |  | 5772|  31.8k|    ACCCHK_ASSERT(sizeof(int) >= sizeof(short))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5773|  31.8k|    ACCCHK_ASSERT(sizeof(int) == sizeof(0))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5774|  31.8k|    ACCCHK_ASSERT(sizeof(int) == sizeof(ACC_STATIC_CAST(int, 0)))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5775|  31.8k|#if (ACC_SIZEOF_INT > 0)
  |  | 5776|  31.8k|    ACCCHK_ASSERT(sizeof(int) == ACC_SIZEOF_INT)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5777|  31.8k|#endif
  |  | 5778|  31.8k|    ACCCHK_ASSERT(sizeof(0) == sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5779|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(long)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5780|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned long)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5781|  31.8k|    ACCCHK_ASSERT(sizeof(long) == sizeof(unsigned long))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5782|  31.8k|#if !(ACC_ABI_I8LP16)
  |  | 5783|  31.8k|    ACCCHK_ASSERT(sizeof(long) >= 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5784|  31.8k|#endif
  |  | 5785|  31.8k|    ACCCHK_ASSERT(sizeof(long) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5786|  31.8k|    ACCCHK_ASSERT(sizeof(long) == sizeof(0L))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5787|  31.8k|    ACCCHK_ASSERT(sizeof(long) == sizeof(ACC_STATIC_CAST(long, 0)))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5788|  31.8k|#if (ACC_SIZEOF_LONG > 0)
  |  | 5789|  31.8k|    ACCCHK_ASSERT(sizeof(long) == ACC_SIZEOF_LONG)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5790|  31.8k|#endif
  |  | 5791|  31.8k|    ACCCHK_ASSERT(sizeof(0L) == sizeof(long))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5792|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(size_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5793|  31.8k|    ACCCHK_ASSERT(sizeof(size_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5794|  31.8k|    ACCCHK_ASSERT(sizeof(size_t) == sizeof(sizeof(0)))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5795|  31.8k|#if (ACC_SIZEOF_SIZE_T > 0)
  |  | 5796|  31.8k|    ACCCHK_ASSERT(sizeof(size_t) == ACC_SIZEOF_SIZE_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5797|  31.8k|#endif
  |  | 5798|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(ptrdiff_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5799|  31.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5800|  31.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5801|  31.8k|#if !(ACC_BROKEN_SIZEOF)
  |  | 5802|       |#if (ACC_CC_CLANG) && !defined(__cplusplus)
  |  | 5803|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(ACC_REINTERPRET_CAST(char*, 1) - ACC_REINTERPRET_CAST(char*, 1)))
  |  | 5804|       |#else
  |  | 5805|  31.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(ACC_STATIC_CAST(char*, ACC_nullptr) - ACC_STATIC_CAST(char*, ACC_nullptr)))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5806|  31.8k|#endif
  |  | 5807|       |# if (ACC_HAVE_MM_HUGE_PTR)
  |  | 5808|       |    ACCCHK_ASSERT(4 == sizeof(ACC_STATIC_CAST(char __huge*, 0) - ACC_STATIC_CAST(char __huge*, 0)))
  |  | 5809|       |# endif
  |  | 5810|  31.8k|#endif
  |  | 5811|  31.8k|#if (ACC_SIZEOF_PTRDIFF_T > 0)
  |  | 5812|  31.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == ACC_SIZEOF_PTRDIFF_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5813|  31.8k|#endif
  |  | 5814|  31.8k|    ACCCHK_ASSERT(sizeof(void*) >= sizeof(char*))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5815|  31.8k|#if (ACC_SIZEOF_VOID_P > 0)
  |  | 5816|  31.8k|    ACCCHK_ASSERT(sizeof(void*) == ACC_SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5817|  31.8k|    ACCCHK_ASSERT(sizeof(char*) == ACC_SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5818|  31.8k|#endif
  |  | 5819|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 5820|       |    ACCCHK_ASSERT(4 == sizeof(void __huge*))
  |  | 5821|       |    ACCCHK_ASSERT(4 == sizeof(char __huge*))
  |  | 5822|       |#endif
  |  | 5823|       |#if (ACC_ABI_I8LP16)
  |  | 5824|       |    ACCCHK_ASSERT((((1u  <<  7) + 1) >>  7) == 1)
  |  | 5825|       |    ACCCHK_ASSERT((((1ul << 15) + 1) >> 15) == 1)
  |  | 5826|       |#else
  |  | 5827|  31.8k|    ACCCHK_ASSERT((((1u  << 15) + 1) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5828|  31.8k|    ACCCHK_ASSERT((((1ul << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5829|  31.8k|#endif
  |  | 5830|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5831|       |#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
  |  | 5832|       |#else
  |  | 5833|       |    ACCCHK_ASSERT((1   << (8*ACC_SIZEOF_INT-1)) < 0)
  |  | 5834|       |#endif
  |  | 5835|       |#endif
  |  | 5836|  31.8k|    ACCCHK_ASSERT((1u  << (8*ACC_SIZEOF_INT-1)) > 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5837|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5838|       |    ACCCHK_ASSERT((1l  << (8*ACC_SIZEOF_LONG-1)) < 0)
  |  | 5839|       |#endif
  |  | 5840|  31.8k|    ACCCHK_ASSERT((1ul << (8*ACC_SIZEOF_LONG-1)) > 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5841|  31.8k|#if defined(acc_int16e_t)
  |  | 5842|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == 2)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5843|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5844|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint16e_t) == 2)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5845|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == sizeof(acc_uint16e_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5846|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int16e_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5847|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint16e_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5848|       |#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
  |  | 5849|       |#else
  |  | 5850|  31.8k|    ACCCHK_ASSERT((ACC_STATIC_CAST(acc_uint16e_t, (~ACC_STATIC_CAST(acc_uint16e_t,0ul))) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5851|  31.8k|#endif
  |  | 5852|  31.8k|    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_int16e_t, (1 + ~ACC_STATIC_CAST(acc_int16e_t, 0))) == 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5853|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5854|       |    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_uint16e_t, (1 + ~ACC_STATIC_CAST(acc_uint16e_t, 0))) == 0)
  |  | 5855|       |#endif
  |  | 5856|  31.8k|#endif
  |  | 5857|  31.8k|#if defined(acc_int32e_t)
  |  | 5858|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5859|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == ACC_SIZEOF_ACC_INT32E_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5860|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint32e_t) == 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5861|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == sizeof(acc_uint32e_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5862|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32e_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5863|  31.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32e_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5864|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32e_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5865|  31.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32e_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5866|  31.8k|    ACCCHK_ASSERT((ACC_STATIC_CAST(acc_uint32e_t, (~ACC_STATIC_CAST(acc_uint32e_t, 0ul))) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5867|  31.8k|    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_int32e_t, (1 + ~ACC_STATIC_CAST(acc_int32e_t, 0))) == 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5868|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5869|       |    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_uint32e_t, (1 + ~ACC_STATIC_CAST(acc_uint32e_t, 0))) == 0)
  |  | 5870|       |#endif
  |  | 5871|  31.8k|#endif
  |  | 5872|  31.8k|#if defined(acc_int32e_t)
  |  | 5873|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) >= sizeof(acc_int32e_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5874|  31.8k|#endif
  |  | 5875|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) >= 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5876|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) == ACC_SIZEOF_ACC_INT32L_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5877|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint32l_t) >= 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5878|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) == sizeof(acc_uint32l_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5879|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32l_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5880|  31.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32l_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5881|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32l_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5882|  31.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32l_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5883|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5884|  31.8k|#if defined(acc_int32e_t)
  |  | 5885|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32e_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5886|  31.8k|#endif
  |  | 5887|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5888|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5889|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5890|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) == ACC_SIZEOF_ACC_INT32F_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5891|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5892|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= sizeof(acc_uint32l_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5893|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) == sizeof(acc_uint32f_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5894|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32f_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5895|  31.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32f_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5896|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32f_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5897|  31.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32f_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5898|  31.8k|#if defined(acc_int64e_t)
  |  | 5899|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5900|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == ACC_SIZEOF_ACC_INT64E_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5901|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint64e_t) == 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5902|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == sizeof(acc_uint64e_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5903|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64e_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5904|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5905|       |#else
  |  | 5906|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64e_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5907|  31.8k|#endif
  |  | 5908|  31.8k|#endif
  |  | 5909|  31.8k|#if defined(acc_int64l_t)
  |  | 5910|  31.8k|#if defined(acc_int64e_t)
  |  | 5911|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) >= sizeof(acc_int64e_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5912|  31.8k|#endif
  |  | 5913|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) >= 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5914|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) == ACC_SIZEOF_ACC_INT64L_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5915|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint64l_t) >= 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5916|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) == sizeof(acc_uint64l_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5917|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64l_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5918|  31.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int64l_t, 1) << 62) + 1) >> 62) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5919|  31.8k|    ACCCHK_ASSERT(((( ACC_INT64_C(1) << 62) + 1) >> 62) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5920|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5921|       |#else
  |  | 5922|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64l_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5923|  31.8k|    ACCCHK_ASSERT(ACC_UINT64_C(18446744073709551615)     > 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5924|  31.8k|#endif
  |  | 5925|  31.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint64l_t, 1) << 63) + 1) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5926|  31.8k|    ACCCHK_ASSERT(((( ACC_UINT64_C(1) << 63) + 1) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5927|       |#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020600ul))
  |  | 5928|       |    ACCCHK_ASSERT(ACC_INT64_C(9223372036854775807)       > ACC_INT64_C(0))
  |  | 5929|       |#else
  |  | 5930|  31.8k|    ACCCHK_ASSERT(ACC_INT64_C(9223372036854775807)       > 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5931|  31.8k|#endif
  |  | 5932|  31.8k|    ACCCHK_ASSERT(ACC_INT64_C(-9223372036854775807) - 1  < 0)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5933|  31.8k|    ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483629)  == 721)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5934|  31.8k|    ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483647)  == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5935|  31.8k|    ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483629) == 721)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5936|  31.8k|    ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483647) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5937|  31.8k|#endif
  |  | 5938|  31.8k|#if defined(acc_int64f_t)
  |  | 5939|  31.8k|#if defined(acc_int64e_t)
  |  | 5940|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64e_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5941|  31.8k|#endif
  |  | 5942|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64l_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5943|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5944|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64l_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5945|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) == ACC_SIZEOF_ACC_INT64F_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5946|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint64f_t) >= 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5947|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint64f_t) >= sizeof(acc_uint64l_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5948|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) == sizeof(acc_uint64f_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5949|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64f_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5950|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5951|       |#else
  |  | 5952|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64f_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5953|  31.8k|#endif
  |  | 5954|  31.8k|#endif
  |  | 5955|  31.8k|#if !defined(__ACC_INTPTR_T_IS_POINTER)
  |  | 5956|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_intptr_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5957|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uintptr_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5958|  31.8k|#endif
  |  | 5959|  31.8k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) >= sizeof(void *))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5960|  31.8k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == ACC_SIZEOF_ACC_INTPTR_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5961|  31.8k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5962|  31.8k|#if defined(acc_word_t)
  |  | 5963|  31.8k|    ACCCHK_ASSERT(ACC_WORDSIZE == ACC_SIZEOF_ACC_WORD_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5964|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_word_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5965|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_sword_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5966|  31.8k|    ACCCHK_ASSERT(sizeof(acc_word_t) == ACC_SIZEOF_ACC_WORD_T)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5967|  31.8k|    ACCCHK_ASSERT(sizeof(acc_word_t) == sizeof(acc_sword_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5968|  31.8k|#endif
  |  | 5969|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int8_t) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5970|  31.8k|    ACCCHK_ASSERT(sizeof(acc_uint8_t) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5971|  31.8k|    ACCCHK_ASSERT(sizeof(acc_int8_t) == sizeof(acc_uint8_t))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5972|  31.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int8_t)
  |  |  ------------------
  |  |  |  | 5584|  31.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5973|  31.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint8_t)
  |  |  ------------------
  |  |  |  | 5591|  31.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  31.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5974|  31.8k|#if defined(ACC_INT16_C)
  |  | 5975|  31.8k|    ACCCHK_ASSERT(sizeof(ACC_INT16_C(0)) >= 2)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5976|  31.8k|    ACCCHK_ASSERT(sizeof(ACC_UINT16_C(0)) >= 2)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5977|  31.8k|    ACCCHK_ASSERT((ACC_UINT16_C(0xffff) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5978|  31.8k|#endif
  |  | 5979|  31.8k|#if defined(ACC_INT32_C)
  |  | 5980|  31.8k|    ACCCHK_ASSERT(sizeof(ACC_INT32_C(0)) >= 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5981|  31.8k|    ACCCHK_ASSERT(sizeof(ACC_UINT32_C(0)) >= 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5982|  31.8k|    ACCCHK_ASSERT((ACC_UINT32_C(0xffffffff) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5983|  31.8k|#endif
  |  | 5984|  31.8k|#if defined(ACC_INT64_C)
  |  | 5985|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0560))
  |  | 5986|       |#else
  |  | 5987|  31.8k|    ACCCHK_ASSERT(sizeof(ACC_INT64_C(0)) >= 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5988|  31.8k|    ACCCHK_ASSERT(sizeof(ACC_UINT64_C(0)) >= 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5989|  31.8k|#endif
  |  | 5990|  31.8k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5991|  31.8k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0)  == ACC_UINT64_C(0xffffffffffffffff))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5992|  31.8k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0l) == ACC_UINT64_C(0xffffffffffffffff))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5993|  31.8k|#if (ACC_SIZEOF_INT == 4)
  |  | 5994|       |# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 5995|       |# else
  |  | 5996|  31.8k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & (~0u+0u)) == 0xffffffffu)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5997|  31.8k|# endif
  |  | 5998|  31.8k|#endif
  |  | 5999|       |#if (ACC_SIZEOF_LONG == 4)
  |  | 6000|       |# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 6001|       |# else
  |  | 6002|       |    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & (~0ul+0ul)) == 0xfffffffful)
  |  | 6003|       |# endif
  |  | 6004|       |#endif
  |  | 6005|  31.8k|#endif
  |  | 6006|       |#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 6007|       |    ACCCHK_ASSERT(sizeof(void*) == 2)
  |  | 6008|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == 2)
  |  | 6009|       |#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 6010|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6011|       |#endif
  |  | 6012|       |#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_COMPACT)
  |  | 6013|       |    ACCCHK_ASSERT(sizeof(void (*)(void)) == 2)
  |  | 6014|       |#elif (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 6015|       |    ACCCHK_ASSERT(sizeof(void (*)(void)) == 4)
  |  | 6016|       |#endif
  |  | 6017|       |#if (ACC_ABI_ILP32)
  |  | 6018|       |    ACCCHK_ASSERT(sizeof(int) == 4)
  |  | 6019|       |    ACCCHK_ASSERT(sizeof(long) == 4)
  |  | 6020|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6021|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6022|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6023|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6024|       |#endif
  |  | 6025|       |#if (ACC_ABI_ILP64)
  |  | 6026|       |    ACCCHK_ASSERT(sizeof(int) == 8)
  |  | 6027|       |    ACCCHK_ASSERT(sizeof(long) == 8)
  |  | 6028|       |    ACCCHK_ASSERT(sizeof(void*) == 8)
  |  | 6029|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6030|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6031|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6032|       |#endif
  |  | 6033|       |#if (ACC_ABI_IP32L64)
  |  | 6034|       |    ACCCHK_ASSERT(sizeof(int) == 4)
  |  | 6035|       |    ACCCHK_ASSERT(sizeof(long) == 8)
  |  | 6036|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6037|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6038|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6039|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6040|       |#endif
  |  | 6041|       |#if (ACC_ABI_LLP64)
  |  | 6042|       |    ACCCHK_ASSERT(sizeof(int) == 4)
  |  | 6043|       |    ACCCHK_ASSERT(sizeof(long) == 4)
  |  | 6044|       |    ACCCHK_ASSERT(sizeof(void*) == 8)
  |  | 6045|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6046|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6047|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6048|       |#endif
  |  | 6049|       |#if (ACC_ABI_LP32)
  |  | 6050|       |    ACCCHK_ASSERT(sizeof(int) == 2)
  |  | 6051|       |    ACCCHK_ASSERT(sizeof(long) == 4)
  |  | 6052|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6053|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6054|       |#endif
  |  | 6055|  31.8k|#if (ACC_ABI_LP64)
  |  | 6056|  31.8k|    ACCCHK_ASSERT(sizeof(int) == 4)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6057|  31.8k|    ACCCHK_ASSERT(sizeof(long) == 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6058|  31.8k|    ACCCHK_ASSERT(sizeof(void*) == 8)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6059|  31.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6060|  31.8k|    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6061|  31.8k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6062|  31.8k|#endif
  |  | 6063|       |#if (ACC_ABI_IP32W64)
  |  | 6064|       |    ACCCHK_ASSERT(sizeof(int) == 4)
  |  | 6065|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6066|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6067|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6068|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6069|       |    ACCCHK_ASSERT(ACC_WORDSIZE == 8)
  |  | 6070|       |#endif
  |  | 6071|       |#if (ACC_ARCH_I086)
  |  | 6072|       |    ACCCHK_ASSERT(sizeof(size_t) == 2)
  |  | 6073|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6074|       |#elif (ACC_ARCH_I386 || ACC_ARCH_M68K)
  |  | 6075|       |    ACCCHK_ASSERT(sizeof(size_t) == 4)
  |  | 6076|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
  |  | 6077|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6078|       |#endif
  |  | 6079|       |#if (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_WIN32)
  |  | 6080|       |    ACCCHK_ASSERT(sizeof(size_t) == 4)
  |  | 6081|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
  |  | 6082|       |    ACCCHK_ASSERT(sizeof(void (*)(void)) == 4)
  |  | 6083|       |#elif (ACC_OS_WIN64)
  |  | 6084|       |    ACCCHK_ASSERT(sizeof(size_t) == 8)
  |  | 6085|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == 8)
  |  | 6086|       |    ACCCHK_ASSERT(sizeof(void (*)(void)) == 8)
  |  | 6087|       |#endif
  |  | 6088|       |#if (ACC_CC_NDPC)
  |  | 6089|       |#elif (ACC_SIZEOF_INT > 1)
  |  | 6090|  31.8k|    ACCCHK_ASSERT( ACC_STATIC_CAST(int, ACC_STATIC_CAST(unsigned char, ACC_STATIC_CAST(signed char, -1))) == 255)
  |  |  ------------------
  |  |  |  |  909|  31.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6091|  31.8k|#endif
  |  | 6092|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 6093|       |#if (ACC_CC_KEILC)
  |  | 6094|       |#elif (ACC_CC_NDPC)
  |  | 6095|       |#elif !(ACC_BROKEN_INTEGRAL_PROMOTION) && (ACC_SIZEOF_INT > 1)
  |  | 6096|       |    ACCCHK_ASSERT( ((ACC_STATIC_CAST(unsigned char, 128)) << ACC_STATIC_CAST(int, (8*sizeof(int)-8))) < 0)
  |  | 6097|       |#endif
  |  | 6098|       |#endif
  |  | 6099|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 6100|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560))
  |  | 6101|       |#  pragma option pop
  |  | 6102|       |#endif
  |  | 6103|       |#endif
  |  | 6104|  31.8k|#endif
  |  | 6105|       |#if defined(ACC_WANT_ACCLIB_UA)
  |  | 6106|       |#  undef ACC_WANT_ACCLIB_UA
  |  | 6107|       |#define __ACCLIB_UA_CH_INCLUDED 1
  |  | 6108|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6109|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6110|       |#endif
  |  | 6111|       |ACCLIB_PUBLIC(unsigned, acc_ua_get_be16) (const acc_hvoid_p p)
  |  | 6112|       |{
  |  | 6113|       |#if defined(ACC_UA_GET_BE16)
  |  | 6114|       |    return ACC_UA_GET_BE16(p);
  |  | 6115|       |#else
  |  | 6116|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6117|       |    return ACC_ICONV(unsigned, b[1]) | (ACC_ICONV(unsigned, b[0]) << 8);
  |  | 6118|       |#endif
  |  | 6119|       |}
  |  | 6120|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_be24) (const acc_hvoid_p p)
  |  | 6121|       |{
  |  | 6122|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6123|       |    return ACC_ICONV(acc_uint32l_t, b[2]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[0]) << 16);
  |  | 6124|       |}
  |  | 6125|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_be32) (const acc_hvoid_p p)
  |  | 6126|       |{
  |  | 6127|       |#if defined(ACC_UA_GET_BE32)
  |  | 6128|       |    return ACC_UA_GET_BE32(p);
  |  | 6129|       |#else
  |  | 6130|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6131|       |    return ACC_ICONV(acc_uint32l_t, b[3]) | (ACC_ICONV(acc_uint32l_t, b[2]) << 8) | (ACC_ICONV(acc_uint32l_t, b[1]) << 16) | (ACC_ICONV(acc_uint32l_t, b[0]) << 24);
  |  | 6132|       |#endif
  |  | 6133|       |}
  |  | 6134|       |ACCLIB_PUBLIC(void, acc_ua_set_be16) (acc_hvoid_p p, unsigned v)
  |  | 6135|       |{
  |  | 6136|       |#if defined(ACC_UA_SET_BE16)
  |  | 6137|       |    ACC_UA_SET_BE16(p, v);
  |  | 6138|       |#else
  |  | 6139|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6140|       |    b[1] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6141|       |    b[0] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6142|       |#endif
  |  | 6143|       |}
  |  | 6144|       |ACCLIB_PUBLIC(void, acc_ua_set_be24) (acc_hvoid_p p, acc_uint32l_t v)
  |  | 6145|       |{
  |  | 6146|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6147|       |    b[2] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6148|       |    b[1] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6149|       |    b[0] = ACC_ICONV(unsigned char, (v >> 16) & 0xff);
  |  | 6150|       |}
  |  | 6151|       |ACCLIB_PUBLIC(void, acc_ua_set_be32) (acc_hvoid_p p, acc_uint32l_t v)
  |  | 6152|       |{
  |  | 6153|       |#if defined(ACC_UA_SET_BE32)
  |  | 6154|       |    ACC_UA_SET_BE32(p, v);
  |  | 6155|       |#else
  |  | 6156|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6157|       |    b[3] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6158|       |    b[2] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6159|       |    b[1] = ACC_ICONV(unsigned char, (v >> 16) & 0xff);
  |  | 6160|       |    b[0] = ACC_ICONV(unsigned char, (v >> 24) & 0xff);
  |  | 6161|       |#endif
  |  | 6162|       |}
  |  | 6163|       |ACCLIB_PUBLIC(unsigned, acc_ua_get_le16) (const acc_hvoid_p p)
  |  | 6164|       |{
  |  | 6165|       |#if defined(ACC_UA_GET_LE16)
  |  | 6166|       |    return ACC_UA_GET_LE16(p);
  |  | 6167|       |#else
  |  | 6168|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6169|       |    return ACC_ICONV(unsigned, b[0]) | (ACC_ICONV(unsigned, b[1]) << 8);
  |  | 6170|       |#endif
  |  | 6171|       |}
  |  | 6172|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_le24) (const acc_hvoid_p p)
  |  | 6173|       |{
  |  | 6174|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6175|       |    return ACC_ICONV(acc_uint32l_t, b[0]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[2]) << 16);
  |  | 6176|       |}
  |  | 6177|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_le32) (const acc_hvoid_p p)
  |  | 6178|       |{
  |  | 6179|       |#if defined(ACC_UA_GET_LE32)
  |  | 6180|       |    return ACC_UA_GET_LE32(p);
  |  | 6181|       |#else
  |  | 6182|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6183|       |    return ACC_ICONV(acc_uint32l_t, b[0]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[2]) << 16) | (ACC_ICONV(acc_uint32l_t, b[3]) << 24);
  |  | 6184|       |#endif
  |  | 6185|       |}
  |  | 6186|       |ACCLIB_PUBLIC(void, acc_ua_set_le16) (acc_hvoid_p p, unsigned v)
  |  | 6187|       |{
  |  | 6188|       |#if defined(ACC_UA_SET_LE16)
  |  | 6189|       |    ACC_UA_SET_LE16(p, v);
  |  | 6190|       |#else
  |  | 6191|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6192|       |    b[0] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6193|       |    b[1] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6194|       |#endif
  |  | 6195|       |}
  |  | 6196|       |ACCLIB_PUBLIC(void, acc_ua_set_le24) (acc_hvoid_p p, acc_uint32l_t v)
  |  | 6197|       |{
  |  | 6198|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6199|       |    b[0] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6200|       |    b[1] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6201|       |    b[2] = ACC_ICONV(unsigned char, (v >> 16) & 0xff);
  |  | 6202|       |}
  |  | 6203|       |ACCLIB_PUBLIC(void, acc_ua_set_le32) (acc_hvoid_p p, acc_uint32l_t v)
  |  | 6204|       |{
  |  | 6205|       |#if defined(ACC_UA_SET_LE32)
  |  | 6206|       |    ACC_UA_SET_LE32(p, v);
  |  | 6207|       |#else
  |  | 6208|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6209|       |    b[0] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6210|       |    b[1] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6211|       |    b[2] = ACC_ICONV(unsigned char, (v >> 16) & 0xff);
  |  | 6212|       |    b[3] = ACC_ICONV(unsigned char, (v >> 24) & 0xff);
  |  | 6213|       |#endif
  |  | 6214|       |}
  |  | 6215|       |#if defined(acc_int64l_t)
  |  | 6216|       |ACCLIB_PUBLIC(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p p)
  |  | 6217|       |{
  |  | 6218|       |#if defined(ACC_UA_GET_BE64)
  |  | 6219|       |    return ACC_UA_GET_BE64(p);
  |  | 6220|       |#elif defined(ACC_UA_GET_BE32)
  |  | 6221|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6222|       |    acc_uint32e_t v0, v1;
  |  | 6223|       |    v1 = ACC_UA_GET_BE32(b + 0);
  |  | 6224|       |    v0 = ACC_UA_GET_BE32(b + 4);
  |  | 6225|       |    return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
  |  | 6226|       |#elif (ACC_WORDSIZE >= 8)
  |  | 6227|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6228|       |    return (ACC_ICONV(acc_uint64l_t, b[7])) | (ACC_ICONV(acc_uint64l_t, b[6]) << 8) | (ACC_ICONV(acc_uint64l_t, b[5]) << 16) | (ACC_ICONV(acc_uint64l_t, b[4]) << 24) | (ACC_ICONV(acc_uint64l_t, b[3]) << 32) | (ACC_ICONV(acc_uint64l_t, b[2]) << 40) | (ACC_ICONV(acc_uint64l_t, b[1]) << 48) | (ACC_ICONV(acc_uint64l_t, b[0]) << 56);
  |  | 6229|       |#else
  |  | 6230|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6231|       |    acc_uint32l_t v0, v1;
  |  | 6232|       |    v1 = ACC_ICONV(acc_uint32l_t, b[3]) | (ACC_ICONV(acc_uint32l_t, b[2]) << 8) | (ACC_ICONV(acc_uint32l_t, b[1]) << 16) | (ACC_ICONV(acc_uint32l_t, b[0]) << 24);
  |  | 6233|       |    b += 4;
  |  | 6234|       |    v0 = ACC_ICONV(acc_uint32l_t, b[3]) | (ACC_ICONV(acc_uint32l_t, b[2]) << 8) | (ACC_ICONV(acc_uint32l_t, b[1]) << 16) | (ACC_ICONV(acc_uint32l_t, b[0]) << 24);
  |  | 6235|       |    return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
  |  | 6236|       |#endif
  |  | 6237|       |}
  |  | 6238|       |ACCLIB_PUBLIC(void, acc_ua_set_be64) (acc_hvoid_p p, acc_uint64l_t v)
  |  | 6239|       |{
  |  | 6240|       |#if defined(ACC_UA_SET_BE64)
  |  | 6241|       |    ACC_UA_SET_BE64(p, v);
  |  | 6242|       |#elif defined(ACC_UA_SET_BE32)
  |  | 6243|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6244|       |    ACC_UA_SET_BE32(b + 4, v);
  |  | 6245|       |    v >>= 32;
  |  | 6246|       |    ACC_UA_SET_BE32(b + 0, v);
  |  | 6247|       |#elif (ACC_WORDSIZE >= 8)
  |  | 6248|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6249|       |    b[7] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6250|       |    b[6] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6251|       |    b[5] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6252|       |    b[4] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6253|       |    b[3] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6254|       |    b[2] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6255|       |    b[1] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6256|       |    b[0] = ACC_ITRUNC(unsigned char, v);
  |  | 6257|       |#else
  |  | 6258|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6259|       |    acc_uint32l_t x;
  |  | 6260|       |    x = ACC_ITRUNC(acc_uint32l_t, v);
  |  | 6261|       |    b[7] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6262|       |    b[6] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6263|       |    b[5] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6264|       |    b[4] = ACC_ITRUNC(unsigned char, x);
  |  | 6265|       |    v >>= 32;
  |  | 6266|       |    x = ACC_ITRUNC(acc_uint32l_t, v);
  |  | 6267|       |    b[3] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6268|       |    b[2] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6269|       |    b[1] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6270|       |    b[0] = ACC_ITRUNC(unsigned char, x);
  |  | 6271|       |#endif
  |  | 6272|       |}
  |  | 6273|       |#endif
  |  | 6274|       |#if defined(acc_int64l_t)
  |  | 6275|       |ACCLIB_PUBLIC(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p p)
  |  | 6276|       |{
  |  | 6277|       |#if defined(ACC_UA_GET_LE64)
  |  | 6278|       |    return ACC_UA_GET_LE64(p);
  |  | 6279|       |#elif defined(ACC_UA_GET_LE32)
  |  | 6280|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6281|       |    acc_uint32e_t v0, v1;
  |  | 6282|       |    v0 = ACC_UA_GET_LE32(b + 0);
  |  | 6283|       |    v1 = ACC_UA_GET_LE32(b + 4);
  |  | 6284|       |    return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
  |  | 6285|       |#elif (ACC_WORDSIZE >= 8)
  |  | 6286|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6287|       |    return ACC_ICONV(acc_uint64l_t, b[0]) | (ACC_ICONV(acc_uint64l_t, b[1]) << 8) | (ACC_ICONV(acc_uint64l_t, b[2]) << 16) | (ACC_ICONV(acc_uint64l_t, b[3]) << 24) | (ACC_ICONV(acc_uint64l_t, b[4]) << 32) | (ACC_ICONV(acc_uint64l_t, b[5]) << 40) | (ACC_ICONV(acc_uint64l_t, b[6]) << 48) | (ACC_ICONV(acc_uint64l_t, b[7]) << 56);
  |  | 6288|       |#else
  |  | 6289|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6290|       |    acc_uint32l_t v0, v1;
  |  | 6291|       |    v0 = ACC_ICONV(acc_uint32l_t, b[0]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[2]) << 16) | (ACC_ICONV(acc_uint32l_t, b[3]) << 24);
  |  | 6292|       |    b += 4;
  |  | 6293|       |    v1 = ACC_ICONV(acc_uint32l_t, b[0]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[2]) << 16) | (ACC_ICONV(acc_uint32l_t, b[3]) << 24);
  |  | 6294|       |    return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
  |  | 6295|       |#endif
  |  | 6296|       |}
  |  | 6297|       |ACCLIB_PUBLIC(void, acc_ua_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
  |  | 6298|       |{
  |  | 6299|       |#if defined(ACC_UA_SET_LE64)
  |  | 6300|       |    ACC_UA_SET_LE64(p, v);
  |  | 6301|       |#elif defined(ACC_UA_SET_LE32)
  |  | 6302|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6303|       |    ACC_UA_SET_LE32(b + 0, v);
  |  | 6304|       |    v >>= 32;
  |  | 6305|       |    ACC_UA_SET_LE32(b + 4, v);
  |  | 6306|       |#elif (ACC_WORDSIZE >= 8)
  |  | 6307|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6308|       |    b[0] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6309|       |    b[1] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6310|       |    b[2] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6311|       |    b[3] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6312|       |    b[4] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6313|       |    b[5] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6314|       |    b[6] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6315|       |    b[7] = ACC_ITRUNC(unsigned char, v);
  |  | 6316|       |#else
  |  | 6317|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6318|       |    acc_uint32l_t x;
  |  | 6319|       |    x = ACC_ITRUNC(acc_uint32l_t, v);
  |  | 6320|       |    b[0] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6321|       |    b[1] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6322|       |    b[2] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6323|       |    b[3] = ACC_ITRUNC(unsigned char, x);
  |  | 6324|       |    v >>= 32;
  |  | 6325|       |    x = ACC_ITRUNC(acc_uint32l_t, v);
  |  | 6326|       |    b[4] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6327|       |    b[5] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6328|       |    b[6] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6329|       |    b[7] = ACC_ITRUNC(unsigned char, x);
  |  | 6330|       |#endif
  |  | 6331|       |}
  |  | 6332|       |#endif
  |  | 6333|       |#endif
  |  | 6334|       |#if defined(ACC_WANT_ACCLIB_VGET)
  |  | 6335|       |#  undef ACC_WANT_ACCLIB_VGET
  |  | 6336|       |#define __ACCLIB_VGET_CH_INCLUDED 1
  |  | 6337|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6338|       |#  define ACCLIB_PUBLIC(r,f)                r __ACCLIB_FUNCNAME(f)
  |  | 6339|       |#endif
  |  | 6340|       |#if !defined(ACCLIB_PUBLIC_NOINLINE)
  |  | 6341|       |#  if !defined(__acc_noinline)
  |  | 6342|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     r __ACCLIB_FUNCNAME(f)
  |  | 6343|       |#  elif (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
  |  | 6344|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     __acc_noinline __attribute__((__used__)) r __ACCLIB_FUNCNAME(f)
  |  | 6345|       |#  else
  |  | 6346|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     __acc_noinline r __ACCLIB_FUNCNAME(f)
  |  | 6347|       |#  endif
  |  | 6348|       |#endif
  |  | 6349|       |extern void* volatile acc_vget_ptr__;
  |  | 6350|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
  |  | 6351|       |void* volatile __attribute__((__used__)) acc_vget_ptr__ = ACC_STATIC_CAST(void *, ACC_nullptr);
  |  | 6352|       |#else
  |  | 6353|       |void* volatile acc_vget_ptr__ = ACC_STATIC_CAST(void *, ACC_nullptr);
  |  | 6354|       |#endif
  |  | 6355|       |#ifndef __ACCLIB_VGET_BODY
  |  | 6356|       |#define __ACCLIB_VGET_BODY(T) \
  |  | 6357|       |    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  | 6358|       |        typedef T __acc_may_alias TT; \
  |  | 6359|       |        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  | 6360|       |        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  | 6361|       |        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  | 6362|       |        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  | 6363|       |    } \
  |  | 6364|       |    return v;
  |  | 6365|       |#endif
  |  | 6366|       |ACCLIB_PUBLIC_NOINLINE(short, acc_vget_short) (short v, int expr)
  |  | 6367|       |{
  |  | 6368|       |    __ACCLIB_VGET_BODY(short)
  |  | 6369|       |}
  |  | 6370|       |ACCLIB_PUBLIC_NOINLINE(int, acc_vget_int) (int v, int expr)
  |  | 6371|       |{
  |  | 6372|       |    __ACCLIB_VGET_BODY(int)
  |  | 6373|       |}
  |  | 6374|       |ACCLIB_PUBLIC_NOINLINE(long, acc_vget_long) (long v, int expr)
  |  | 6375|       |{
  |  | 6376|       |    __ACCLIB_VGET_BODY(long)
  |  | 6377|       |}
  |  | 6378|       |#if defined(acc_int64l_t)
  |  | 6379|       |ACCLIB_PUBLIC_NOINLINE(acc_int64l_t, acc_vget_acc_int64l_t) (acc_int64l_t v, int expr)
  |  | 6380|       |{
  |  | 6381|       |    __ACCLIB_VGET_BODY(acc_int64l_t)
  |  | 6382|       |}
  |  | 6383|       |#endif
  |  | 6384|       |ACCLIB_PUBLIC_NOINLINE(acc_hsize_t, acc_vget_acc_hsize_t) (acc_hsize_t v, int expr)
  |  | 6385|       |{
  |  | 6386|       |    __ACCLIB_VGET_BODY(acc_hsize_t)
  |  | 6387|       |}
  |  | 6388|       |#if !(ACC_CFG_NO_DOUBLE)
  |  | 6389|       |ACCLIB_PUBLIC_NOINLINE(double, acc_vget_double) (double v, int expr)
  |  | 6390|       |{
  |  | 6391|       |    __ACCLIB_VGET_BODY(double)
  |  | 6392|       |}
  |  | 6393|       |#endif
  |  | 6394|       |ACCLIB_PUBLIC_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_p) (acc_hvoid_p v, int expr)
  |  | 6395|       |{
  |  | 6396|       |    __ACCLIB_VGET_BODY(acc_hvoid_p)
  |  | 6397|       |}
  |  | 6398|       |#if (ACC_ARCH_I086 && ACC_CC_TURBOC && (__TURBOC__ == 0x0295)) && !defined(__cplusplus)
  |  | 6399|       |ACCLIB_PUBLIC_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p vv, int expr)
  |  | 6400|       |{
  |  | 6401|       |    acc_hvoid_p v = (acc_hvoid_p) vv;
  |  | 6402|       |    __ACCLIB_VGET_BODY(acc_hvoid_p)
  |  | 6403|       |}
  |  | 6404|       |#else
  |  | 6405|       |ACCLIB_PUBLIC_NOINLINE(const acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p v, int expr)
  |  | 6406|       |{
  |  | 6407|       |    __ACCLIB_VGET_BODY(const acc_hvoid_p)
  |  | 6408|       |}
  |  | 6409|       |#endif
  |  | 6410|       |#endif
  |  | 6411|       |#if defined(ACC_WANT_ACCLIB_HMEMCPY)
  |  | 6412|       |#  undef ACC_WANT_ACCLIB_HMEMCPY
  |  | 6413|       |#define __ACCLIB_HMEMCPY_CH_INCLUDED 1
  |  | 6414|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6415|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6416|       |#endif
  |  | 6417|       |ACCLIB_PUBLIC(int, acc_hmemcmp) (const acc_hvoid_p s1, const acc_hvoid_p s2, acc_hsize_t len)
  |  | 6418|       |{
  |  | 6419|       |#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP)
  |  | 6420|       |    const acc_hbyte_p p1 = ACC_STATIC_CAST(const acc_hbyte_p, s1);
  |  | 6421|       |    const acc_hbyte_p p2 = ACC_STATIC_CAST(const acc_hbyte_p, s2);
  |  | 6422|       |    if __acc_likely(len > 0) do
  |  | 6423|       |    {
  |  | 6424|       |        int d = *p1 - *p2;
  |  | 6425|       |        if (d != 0)
  |  | 6426|       |            return d;
  |  | 6427|       |        p1++; p2++;
  |  | 6428|       |    } while __acc_likely(--len > 0);
  |  | 6429|       |    return 0;
  |  | 6430|       |#else
  |  | 6431|       |    return memcmp(s1, s2, len);
  |  | 6432|       |#endif
  |  | 6433|       |}
  |  | 6434|       |ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemcpy) (acc_hvoid_p dest, const acc_hvoid_p src, acc_hsize_t len)
  |  | 6435|       |{
  |  | 6436|       |#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY)
  |  | 6437|       |    acc_hbyte_p p1 = ACC_STATIC_CAST(acc_hbyte_p, dest);
  |  | 6438|       |    const acc_hbyte_p p2 = ACC_STATIC_CAST(const acc_hbyte_p, src);
  |  | 6439|       |    if (!(len > 0) || p1 == p2)
  |  | 6440|       |        return dest;
  |  | 6441|       |    do
  |  | 6442|       |        *p1++ = *p2++;
  |  | 6443|       |    while __acc_likely(--len > 0);
  |  | 6444|       |    return dest;
  |  | 6445|       |#else
  |  | 6446|       |    return memcpy(dest, src, len);
  |  | 6447|       |#endif
  |  | 6448|       |}
  |  | 6449|       |ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemmove) (acc_hvoid_p dest, const acc_hvoid_p src, acc_hsize_t len)
  |  | 6450|       |{
  |  | 6451|       |#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE)
  |  | 6452|       |    acc_hbyte_p p1 = ACC_STATIC_CAST(acc_hbyte_p, dest);
  |  | 6453|       |    const acc_hbyte_p p2 = ACC_STATIC_CAST(const acc_hbyte_p, src);
  |  | 6454|       |    if (!(len > 0) || p1 == p2)
  |  | 6455|       |        return dest;
  |  | 6456|       |    if (p1 < p2)
  |  | 6457|       |    {
  |  | 6458|       |        do
  |  | 6459|       |            *p1++ = *p2++;
  |  | 6460|       |        while __acc_likely(--len > 0);
  |  | 6461|       |    }
  |  | 6462|       |    else
  |  | 6463|       |    {
  |  | 6464|       |        p1 += len;
  |  | 6465|       |        p2 += len;
  |  | 6466|       |        do
  |  | 6467|       |            *--p1 = *--p2;
  |  | 6468|       |        while __acc_likely(--len > 0);
  |  | 6469|       |    }
  |  | 6470|       |    return dest;
  |  | 6471|       |#else
  |  | 6472|       |    return memmove(dest, src, len);
  |  | 6473|       |#endif
  |  | 6474|       |}
  |  | 6475|       |ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemset) (acc_hvoid_p s, int cc, acc_hsize_t len)
  |  | 6476|       |{
  |  | 6477|       |#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET)
  |  | 6478|       |    acc_hbyte_p p = ACC_STATIC_CAST(acc_hbyte_p, s);
  |  | 6479|       |    unsigned char c = ACC_ITRUNC(unsigned char, cc);
  |  | 6480|       |    if __acc_likely(len > 0) do
  |  | 6481|       |        *p++ = c;
  |  | 6482|       |    while __acc_likely(--len > 0);
  |  | 6483|       |    return s;
  |  | 6484|       |#else
  |  | 6485|       |    return memset(s, cc, len);
  |  | 6486|       |#endif
  |  | 6487|       |}
  |  | 6488|       |#endif
  |  | 6489|       |#if defined(ACC_WANT_ACCLIB_RAND)
  |  | 6490|       |#  undef ACC_WANT_ACCLIB_RAND
  |  | 6491|       |#define __ACCLIB_RAND_CH_INCLUDED 1
  |  | 6492|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6493|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6494|       |#endif
  |  | 6495|       |ACCLIB_PUBLIC(void, acc_srand31) (acc_rand31_p r, acc_uint32l_t seed)
  |  | 6496|       |{
  |  | 6497|       |    r->seed = seed & ACC_UINT32_C(0xffffffff);
  |  | 6498|       |}
  |  | 6499|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand31) (acc_rand31_p r)
  |  | 6500|       |{
  |  | 6501|       |    r->seed = r->seed * ACC_UINT32_C(1103515245) + 12345;
  |  | 6502|       |    r->seed &= ACC_UINT32_C(0x7fffffff);
  |  | 6503|       |    return r->seed;
  |  | 6504|       |}
  |  | 6505|       |#if defined(acc_int64l_t)
  |  | 6506|       |ACCLIB_PUBLIC(void, acc_srand48) (acc_rand48_p r, acc_uint32l_t seed)
  |  | 6507|       |{
  |  | 6508|       |    r->seed = seed & ACC_UINT32_C(0xffffffff);
  |  | 6509|       |    r->seed <<= 16; r->seed |= 0x330e;
  |  | 6510|       |}
  |  | 6511|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand48) (acc_rand48_p r)
  |  | 6512|       |{
  |  | 6513|       |    acc_uint64l_t a;
  |  | 6514|       |    r->seed = r->seed * ACC_UINT64_C(25214903917) + 11;
  |  | 6515|       |    r->seed &= ACC_UINT64_C(0xffffffffffff);
  |  | 6516|       |    a = r->seed >> 17;
  |  | 6517|       |    return ACC_STATIC_CAST(acc_uint32l_t, a);
  |  | 6518|       |}
  |  | 6519|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand48_r32) (acc_rand48_p r)
  |  | 6520|       |{
  |  | 6521|       |    acc_uint64l_t a;
  |  | 6522|       |    r->seed = r->seed * ACC_UINT64_C(25214903917) + 11;
  |  | 6523|       |    r->seed &= ACC_UINT64_C(0xffffffffffff);
  |  | 6524|       |    a = r->seed >> 16;
  |  | 6525|       |    return ACC_STATIC_CAST(acc_uint32l_t, a);
  |  | 6526|       |}
  |  | 6527|       |#endif
  |  | 6528|       |#if defined(acc_int64l_t)
  |  | 6529|       |ACCLIB_PUBLIC(void, acc_srand64) (acc_rand64_p r, acc_uint64l_t seed)
  |  | 6530|       |{
  |  | 6531|       |    r->seed = seed & ACC_UINT64_C(0xffffffffffffffff);
  |  | 6532|       |}
  |  | 6533|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand64) (acc_rand64_p r)
  |  | 6534|       |{
  |  | 6535|       |    acc_uint64l_t a;
  |  | 6536|       |    r->seed = r->seed * ACC_UINT64_C(6364136223846793005) + 1;
  |  | 6537|       |#if (ACC_SIZEOF_ACC_INT64L_T > 8)
  |  | 6538|       |    r->seed &= ACC_UINT64_C(0xffffffffffffffff);
  |  | 6539|       |#endif
  |  | 6540|       |    a = r->seed >> 33;
  |  | 6541|       |    return ACC_STATIC_CAST(acc_uint32l_t, a);
  |  | 6542|       |}
  |  | 6543|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand64_r32) (acc_rand64_p r)
  |  | 6544|       |{
  |  | 6545|       |    acc_uint64l_t a;
  |  | 6546|       |    r->seed = r->seed * ACC_UINT64_C(6364136223846793005) + 1;
  |  | 6547|       |#if (ACC_SIZEOF_ACC_INT64L_T > 8)
  |  | 6548|       |    r->seed &= ACC_UINT64_C(0xffffffffffffffff);
  |  | 6549|       |#endif
  |  | 6550|       |    a = r->seed >> 32;
  |  | 6551|       |    return ACC_STATIC_CAST(acc_uint32l_t, a);
  |  | 6552|       |}
  |  | 6553|       |#endif
  |  | 6554|       |ACCLIB_PUBLIC(void, acc_srandmt) (acc_randmt_p r, acc_uint32l_t seed)
  |  | 6555|       |{
  |  | 6556|       |    unsigned i = 0;
  |  | 6557|       |    do {
  |  | 6558|       |        r->s[i++] = (seed &= ACC_UINT32_C(0xffffffff));
  |  | 6559|       |        seed ^= seed >> 30;
  |  | 6560|       |        seed = seed * ACC_UINT32_C(0x6c078965) + i;
  |  | 6561|       |    } while (i != 624);
  |  | 6562|       |    r->n = i;
  |  | 6563|       |}
  |  | 6564|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt) (acc_randmt_p r)
  |  | 6565|       |{
  |  | 6566|       |    return (__ACCLIB_FUNCNAME(acc_randmt_r32)(r)) >> 1;
  |  | 6567|       |}
  |  | 6568|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt_r32) (acc_randmt_p r)
  |  | 6569|       |{
  |  | 6570|       |    acc_uint32l_t v;
  |  | 6571|       |    if __acc_unlikely(r->n == 624) {
  |  | 6572|       |        unsigned i = 0, j;
  |  | 6573|       |        r->n = 0;
  |  | 6574|       |        do {
  |  | 6575|       |            j = i - 623; if (ACC_STATIC_CAST(int, j) < 0) j += 624;
  |  | 6576|       |            v = (r->s[i] & ACC_UINT32_C(0x80000000)) ^ (r->s[j] & ACC_UINT32_C(0x7fffffff));
  |  | 6577|       |            j = i - 227; if (ACC_STATIC_CAST(int, j) < 0) j += 624;
  |  | 6578|       |            r->s[i] = r->s[j] ^ (v >> 1);
  |  | 6579|       |            if (v & 1) r->s[i] ^= ACC_UINT32_C(0x9908b0df);
  |  | 6580|       |        } while (++i != 624);
  |  | 6581|       |    }
  |  | 6582|       |    { unsigned i = r->n++; v = r->s[i]; }
  |  | 6583|       |    v ^= v >> 11; v ^= (v & ACC_UINT32_C(0x013a58ad)) << 7;
  |  | 6584|       |    v ^= (v & ACC_UINT32_C(0x0001df8c)) << 15; v ^= v >> 18;
  |  | 6585|       |    return v;
  |  | 6586|       |}
  |  | 6587|       |#if defined(acc_int64l_t)
  |  | 6588|       |ACCLIB_PUBLIC(void, acc_srandmt64) (acc_randmt64_p r, acc_uint64l_t seed)
  |  | 6589|       |{
  |  | 6590|       |    unsigned i = 0;
  |  | 6591|       |    do {
  |  | 6592|       |        r->s[i++] = (seed &= ACC_UINT64_C(0xffffffffffffffff));
  |  | 6593|       |        seed ^= seed >> 62;
  |  | 6594|       |        seed = seed * ACC_UINT64_C(0x5851f42d4c957f2d) + i;
  |  | 6595|       |    } while (i != 312);
  |  | 6596|       |    r->n = i;
  |  | 6597|       |}
  |  | 6598|       |#if 0
  |  | 6599|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt64) (acc_randmt64_p r)
  |  | 6600|       |{
  |  | 6601|       |    acc_uint64l_t v;
  |  | 6602|       |    v = (__ACCLIB_FUNCNAME(acc_randmt64_r64)(r)) >> 33;
  |  | 6603|       |    return ACC_STATIC_CAST(acc_uint32l_t, v);
  |  | 6604|       |}
  |  | 6605|       |#endif
  |  | 6606|       |ACCLIB_PUBLIC(acc_uint64l_t, acc_randmt64_r64) (acc_randmt64_p r)
  |  | 6607|       |{
  |  | 6608|       |    acc_uint64l_t v;
  |  | 6609|       |    if __acc_unlikely(r->n == 312) {
  |  | 6610|       |        unsigned i = 0, j;
  |  | 6611|       |        r->n = 0;
  |  | 6612|       |        do {
  |  | 6613|       |            j = i - 311; if (ACC_STATIC_CAST(int, j) < 0) j += 312;
  |  | 6614|       |            v = (r->s[i] & ACC_UINT64_C(0xffffffff80000000)) ^ (r->s[j] & ACC_UINT64_C(0x7fffffff));
  |  | 6615|       |            j = i - 156; if (ACC_STATIC_CAST(int, j) < 0) j += 312;
  |  | 6616|       |            r->s[i] = r->s[j] ^ (v >> 1);
  |  | 6617|       |            if (v & 1) r->s[i] ^= ACC_UINT64_C(0xb5026f5aa96619e9);
  |  | 6618|       |        } while (++i != 312);
  |  | 6619|       |    }
  |  | 6620|       |    { unsigned i = r->n++; v = r->s[i]; }
  |  | 6621|       |    v ^= (v & ACC_UINT64_C(0xaaaaaaaaa0000000)) >> 29;
  |  | 6622|       |    v ^= (v & ACC_UINT64_C(0x38eb3ffff6d3)) << 17;
  |  | 6623|       |    v ^= (v & ACC_UINT64_C(0x7ffbf77)) << 37;
  |  | 6624|       |    return v ^ (v >> 43);
  |  | 6625|       |}
  |  | 6626|       |#endif
  |  | 6627|       |#endif
  |  | 6628|       |#if defined(ACC_WANT_ACCLIB_RDTSC)
  |  | 6629|       |#  undef ACC_WANT_ACCLIB_RDTSC
  |  | 6630|       |#define __ACCLIB_RDTSC_CH_INCLUDED 1
  |  | 6631|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6632|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6633|       |#endif
  |  | 6634|       |#if defined(acc_int32e_t)
  |  | 6635|       |#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
  |  | 6636|       |#  pragma warn(push)
  |  | 6637|       |#  pragma warn(disable:2007)
  |  | 6638|       |#endif
  |  | 6639|       |#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 6640|       |#if (ACC_ARCH_AMD64 && ACC_CC_INTELC)
  |  | 6641|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "memory", "rax", "rdx"
  |  | 6642|       |#elif (ACC_ARCH_AMD64)
  |  | 6643|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "cc", "memory", "rax", "rdx"
  |  | 6644|       |#elif (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 6645|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "ax", "dx"
  |  | 6646|       |#elif (ACC_ARCH_I386 && ACC_CC_INTELC)
  |  | 6647|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "memory", "eax", "edx"
  |  | 6648|       |#else
  |  | 6649|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "cc", "memory", "eax", "edx"
  |  | 6650|       |#endif
  |  | 6651|       |#endif
  |  | 6652|       |ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
  |  | 6653|       |{
  |  | 6654|       |#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 6655|       |    __asm__ __volatile__(
  |  | 6656|       |        "clc \n" ".byte 0x0f,0x31\n"
  |  | 6657|       |        "movl %%eax,(%0)\n" "movl %%edx,4(%0)\n"
  |  | 6658|       |        __ACCLIB_RDTSC_REGS
  |  | 6659|       |    );
  |  | 6660|       |    return 0;
  |  | 6661|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
  |  | 6662|       |    ACC_UNUSED(t);
  |  | 6663|       |    __asm {
  |  | 6664|       |        mov ecx, t
  |  | 6665|       |        clc
  |  | 6666|       |#  if (ACC_CC_MSC && (_MSC_VER < 1200))
  |  | 6667|       |        _emit 0x0f
  |  | 6668|       |        _emit 0x31
  |  | 6669|       |#  else
  |  | 6670|       |        rdtsc
  |  | 6671|       |#  endif
  |  | 6672|       |        mov [ecx], eax
  |  | 6673|       |        mov [ecx+4], edx
  |  | 6674|       |    }
  |  | 6675|       |    return 0;
  |  | 6676|       |#else
  |  | 6677|       |    t[0] = t[1] = 0; return -1;
  |  | 6678|       |#endif
  |  | 6679|       |}
  |  | 6680|       |#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
  |  | 6681|       |#  pragma warn(pop)
  |  | 6682|       |#endif
  |  | 6683|       |#endif
  |  | 6684|       |#endif
  |  | 6685|       |#if defined(ACC_WANT_ACCLIB_DOSALLOC)
  |  | 6686|       |#  undef ACC_WANT_ACCLIB_DOSALLOC
  |  | 6687|       |#define __ACCLIB_DOSALLOC_CH_INCLUDED 1
  |  | 6688|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6689|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6690|       |#endif
  |  | 6691|       |#if (ACC_OS_OS216)
  |  | 6692|       |ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
  |  | 6693|       |ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
  |  | 6694|       |#endif
  |  | 6695|       |#if (ACC_OS_DOS16 || ACC_OS_WIN16)
  |  | 6696|       |#if !(ACC_CC_AZTECC)
  |  | 6697|       |ACCLIB_PUBLIC(void __far*, acc_dos_alloc) (unsigned long size)
  |  | 6698|       |{
  |  | 6699|       |    void __far* p = 0;
  |  | 6700|       |    union REGS ri, ro;
  |  | 6701|       |    if ((long)size <= 0)
  |  | 6702|       |        return p;
  |  | 6703|       |    size = (size + 15) >> 4;
  |  | 6704|       |    if (size > 0xffffu)
  |  | 6705|       |        return p;
  |  | 6706|       |    ri.x.ax = 0x4800;
  |  | 6707|       |    ri.x.bx = (unsigned short) size;
  |  | 6708|       |    int86(0x21, &ri, &ro);
  |  | 6709|       |    if ((ro.x.cflag & 1) == 0)
  |  | 6710|       |        p = (void __far*) ACC_PTR_MK_FP(ro.x.ax, 0);
  |  | 6711|       |    return p;
  |  | 6712|       |}
  |  | 6713|       |ACCLIB_PUBLIC(int, acc_dos_free) (void __far* p)
  |  | 6714|       |{
  |  | 6715|       |    union REGS ri, ro;
  |  | 6716|       |    struct SREGS rs;
  |  | 6717|       |    if (!p)
  |  | 6718|       |        return 0;
  |  | 6719|       |    if (ACC_PTR_FP_OFF(p) != 0)
  |  | 6720|       |        return -1;
  |  | 6721|       |    segread(&rs);
  |  | 6722|       |    ri.x.ax = 0x4900;
  |  | 6723|       |    rs.es = ACC_PTR_FP_SEG(p);
  |  | 6724|       |    int86x(0x21, &ri, &ro, &rs);
  |  | 6725|       |    if (ro.x.cflag & 1)
  |  | 6726|       |        return -1;
  |  | 6727|       |    return 0;
  |  | 6728|       |}
  |  | 6729|       |#endif
  |  | 6730|       |#endif
  |  | 6731|       |#if (ACC_OS_OS216)
  |  | 6732|       |ACCLIB_PUBLIC(void __far*, acc_dos_alloc) (unsigned long size)
  |  | 6733|       |{
  |  | 6734|       |    void __far* p = 0;
  |  | 6735|       |    unsigned short sel = 0;
  |  | 6736|       |    if ((long)size <= 0)
  |  | 6737|       |        return p;
  |  | 6738|       |    if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
  |  | 6739|       |        p = (void __far*) ACC_PTR_MK_FP(sel, 0);
  |  | 6740|       |    return p;
  |  | 6741|       |}
  |  | 6742|       |ACCLIB_PUBLIC(int, acc_dos_free) (void __far* p)
  |  | 6743|       |{
  |  | 6744|       |    if (!p)
  |  | 6745|       |        return 0;
  |  | 6746|       |    if (ACC_PTR_FP_OFF(p) != 0)
  |  | 6747|       |        return -1;
  |  | 6748|       |    if (DosFreeSeg(ACC_PTR_FP_SEG(p)) != 0)
  |  | 6749|       |        return -1;
  |  | 6750|       |    return 0;
  |  | 6751|       |}
  |  | 6752|       |#endif
  |  | 6753|       |#endif
  |  | 6754|       |#if defined(ACC_WANT_ACCLIB_GETOPT)
  |  | 6755|       |#  undef ACC_WANT_ACCLIB_GETOPT
  |  | 6756|       |#define __ACCLIB_GETOPT_CH_INCLUDED 1
  |  | 6757|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6758|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6759|       |#endif
  |  | 6760|       |ACCLIB_PUBLIC(void, acc_getopt_init) (acc_getopt_p g,
  |  | 6761|       |                                      int start_argc, int argc, char **argv)
  |  | 6762|       |{
  |  | 6763|       |    memset(g, 0, sizeof(*g));
  |  | 6764|       |    g->optind = start_argc;
  |  | 6765|       |    g->argc = argc; g->argv = argv;
  |  | 6766|       |    g->optopt = -1;
  |  | 6767|       |}
  |  | 6768|       |static int __ACCLIB_FUNCNAME(acc_getopt_rotate) (char **p, int first, int middle, int last)
  |  | 6769|       |{
  |  | 6770|       |    int i = middle, n = middle - first;
  |  | 6771|       |    if (first >= middle || middle >= last) return 0;
  |  | 6772|       |    for (;;) {
  |  | 6773|       |        char *t = p[first]; p[first++] = p[i]; p[i++] = t;
  |  | 6774|       |        if (first == middle) {
  |  | 6775|       |            if (i == last) break;
  |  | 6776|       |            middle = i;
  |  | 6777|       |        } else if (i == last)
  |  | 6778|       |            i = middle;
  |  | 6779|       |    }
  |  | 6780|       |    return n;
  |  | 6781|       |}
  |  | 6782|       |static int __ACCLIB_FUNCNAME(acc_getopt_perror) (acc_getopt_p g, int ret, const char *f, ...)
  |  | 6783|       |{
  |  | 6784|       |    ++g->errcount;
  |  | 6785|       |    if (g->opterr) {
  |  | 6786|       |#if defined(HAVE_STDARG_H) && (HAVE_STDARG_H)
  |  | 6787|       |        struct { va_list ap; } s;
  |  | 6788|       |        va_start(s.ap, f);
  |  | 6789|       |        g->opterr(g, f, &s);
  |  | 6790|       |        va_end(s.ap);
  |  | 6791|       |#else
  |  | 6792|       |        g->opterr(g, f, ACC_nullptr);
  |  | 6793|       |#endif
  |  | 6794|       |    }
  |  | 6795|       |    return ret;
  |  | 6796|       |}
  |  | 6797|       |ACCLIB_PUBLIC(int, acc_getopt) (acc_getopt_p g,
  |  | 6798|       |                                const char *shortopts,
  |  | 6799|       |                                const acc_getopt_longopt_p longopts,
  |  | 6800|       |                                int *longind)
  |  | 6801|       |{
  |  | 6802|       |#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  | 6803|       |    int ordering = ACC_GETOPT_PERMUTE;
  |  | 6804|       |    int missing_arg_ret = g->bad_option;
  |  | 6805|       |    char *a;
  |  | 6806|       |    if (shortopts) {
  |  | 6807|       |        if (*shortopts == '-' || *shortopts == '+')
  |  | 6808|       |            ordering = *shortopts++ == '-' ? ACC_GETOPT_RETURN_IN_ORDER : ACC_GETOPT_REQUIRE_ORDER;
  |  | 6809|       |        if (*shortopts == ':')
  |  | 6810|       |            missing_arg_ret = *shortopts++;
  |  | 6811|       |    }
  |  | 6812|       |    g->optarg = ACC_nullptr;
  |  | 6813|       |    if (g->optopt == -1)
  |  | 6814|       |        g->optopt = g->bad_option;
  |  | 6815|       |    if (longind)
  |  | 6816|       |        *longind = -1;
  |  | 6817|       |    if (g->eof)
  |  | 6818|       |        return -1;
  |  | 6819|       |    if (g->shortpos)
  |  | 6820|       |        goto acc_label_next_shortopt;
  |  | 6821|       |    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  |  | 6822|       |    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
  |  | 6823|       |    if (ordering == ACC_GETOPT_PERMUTE) {
  |  | 6824|       |        while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1]))
  |  | 6825|       |            ++g->optind;
  |  | 6826|       |        g->pending_rotate_middle = g->optind;
  |  | 6827|       |    }
  |  | 6828|       |    if (g->optind >= g->argc) {
  |  | 6829|       |        g->optind = g->pending_rotate_first;
  |  | 6830|       |        goto acc_label_eof;
  |  | 6831|       |    }
  |  | 6832|       |    a = g->argv[g->optind];
  |  | 6833|       |    if (a[0] == '-' && a[1] == '-') {
  |  | 6834|       |        size_t l = 0;
  |  | 6835|       |        const acc_getopt_longopt_p o;
  |  | 6836|       |        const acc_getopt_longopt_p o1 = ACC_nullptr;
  |  | 6837|       |        const acc_getopt_longopt_p o2 = ACC_nullptr;
  |  | 6838|       |        int need_exact = 0;
  |  | 6839|       |        ++g->optind;
  |  | 6840|       |        if (!a[2])
  |  | 6841|       |            goto acc_label_eof;
  |  | 6842|       |        for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; )
  |  | 6843|       |            ++l;
  |  | 6844|       |        for (o = longopts; l && o && o->name; ++o) {
  |  | 6845|       |            if (strncmp(a, o->name, l) != 0)
  |  | 6846|       |                continue;
  |  | 6847|       |            if (!o->name[l])
  |  | 6848|       |                goto acc_label_found_o;
  |  | 6849|       |            if ((o->has_arg & (ACC_GETOPT_EXACT_ARG | 0x80)) == (ACC_GETOPT_EXACT_ARG | 0x80))
  |  | 6850|       |                continue;
  |  | 6851|       |            need_exact |= o->has_arg & ACC_GETOPT_EXACT_ARG;
  |  | 6852|       |            if (o1) o2 = o;
  |  | 6853|       |            else    o1 = o;
  |  | 6854|       |        }
  |  | 6855|       |        if (!o1 || need_exact)
  |  | 6856|       |            return pe(g, g->bad_option, "unrecognized option '--%s'", a);
  |  | 6857|       |        if (o2)
  |  | 6858|       |            return pe(g, g->bad_option, "option '--%s' is ambiguous (could be '--%s' or '--%s')", a, o1->name, o2->name);
  |  | 6859|       |        o = o1;
  |  | 6860|       |    acc_label_found_o:
  |  | 6861|       |        a += l;
  |  | 6862|       |        switch (o->has_arg & 0x2f) {
  |  | 6863|       |        case ACC_GETOPT_OPTIONAL_ARG:
  |  | 6864|       |            if (a[0])
  |  | 6865|       |                g->optarg = a + 1;
  |  | 6866|       |            break;
  |  | 6867|       |        case ACC_GETOPT_REQUIRED_ARG:
  |  | 6868|       |            if (a[0])
  |  | 6869|       |                g->optarg = a + 1;
  |  | 6870|       |            else if (g->optind < g->argc)
  |  | 6871|       |                g->optarg = g->argv[g->optind++];
  |  | 6872|       |            if (!g->optarg || (!g->optarg[0] && (o->has_arg & 0x40)))
  |  | 6873|       |                return pe(g, missing_arg_ret, "option '--%s' requires an argument", o->name);
  |  | 6874|       |            break;
  |  | 6875|       |        case ACC_GETOPT_REQUIRED_ARG | 0x20:
  |  | 6876|       |            if (a[0] && a[1])
  |  | 6877|       |                g->optarg = a + 1;
  |  | 6878|       |            if (!g->optarg)
  |  | 6879|       |                return pe(g, missing_arg_ret, "option '--%s=' requires an argument", o->name);
  |  | 6880|       |            break;
  |  | 6881|       |        default:
  |  | 6882|       |            if (a[0])
  |  | 6883|       |                return pe(g, g->bad_option, "option '--%s' doesn't allow an argument", o->name);
  |  | 6884|       |            break;
  |  | 6885|       |        }
  |  | 6886|       |        if (longind)
  |  | 6887|       |            *longind = (int) (o - longopts);
  |  | 6888|       |        if (o->flag) {
  |  | 6889|       |            *o->flag = o->val;
  |  | 6890|       |            return 0;
  |  | 6891|       |        }
  |  | 6892|       |        return o->val;
  |  | 6893|       |    }
  |  | 6894|       |    if (a[0] == '-' && a[1]) {
  |  | 6895|       |        unsigned char c;
  |  | 6896|       |        const char *s;
  |  | 6897|       |    acc_label_next_shortopt:
  |  | 6898|       |        a = g->argv[g->optind] + ++g->shortpos;
  |  | 6899|       |        c = (unsigned char) *a++; s = ACC_nullptr;
  |  | 6900|       |        if (c != ':' && shortopts)
  |  | 6901|       |            s = strchr(shortopts, c);
  |  | 6902|       |        if (!s || s[1] != ':') {
  |  | 6903|       |            if (!a[0])
  |  | 6904|       |                { ++g->optind; g->shortpos = 0; }
  |  | 6905|       |            if (!s) {
  |  | 6906|       |                g->optopt = c;
  |  | 6907|       |                return pe(g, g->bad_option, "invalid option '-%c'", c);
  |  | 6908|       |            }
  |  | 6909|       |        } else {
  |  | 6910|       |            ++g->optind; g->shortpos = 0;
  |  | 6911|       |            if (a[0])
  |  | 6912|       |                g->optarg = a;
  |  | 6913|       |            else if (s[2] != ':') {
  |  | 6914|       |                if (g->optind < g->argc)
  |  | 6915|       |                    g->optarg = g->argv[g->optind++];
  |  | 6916|       |                else {
  |  | 6917|       |                    g->optopt = c;
  |  | 6918|       |                    return pe(g, missing_arg_ret, "option '-%c' requires an argument", c);
  |  | 6919|       |                }
  |  | 6920|       |            }
  |  | 6921|       |        }
  |  | 6922|       |        return c;
  |  | 6923|       |    }
  |  | 6924|       |    if (ordering == ACC_GETOPT_RETURN_IN_ORDER) {
  |  | 6925|       |        g->optarg = a;
  |  | 6926|       |        ++g->optind;
  |  | 6927|       |        return 1;
  |  | 6928|       |    }
  |  | 6929|       |acc_label_eof:
  |  | 6930|       |    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  |  | 6931|       |    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
  |  | 6932|       |    g->eof = 1;
  |  | 6933|       |    return -1;
  |  | 6934|       |#undef pe
  |  | 6935|       |}
  |  | 6936|       |#endif
  |  | 6937|       |#if defined(ACC_WANT_ACCLIB_HALLOC)
  |  | 6938|       |#  undef ACC_WANT_ACCLIB_HALLOC
  |  | 6939|       |#define __ACCLIB_HALLOC_CH_INCLUDED 1
  |  | 6940|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6941|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6942|       |#endif
  |  | 6943|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 6944|       |#if 1 && (ACC_OS_DOS16 && defined(BLX286))
  |  | 6945|       |#  define __ACCLIB_HALLOC_USE_DAH 1
  |  | 6946|       |#elif 1 && (ACC_OS_DOS16 && defined(DOSX286))
  |  | 6947|       |#  define __ACCLIB_HALLOC_USE_DAH 1
  |  | 6948|       |#elif 1 && (ACC_OS_OS216)
  |  | 6949|       |#  define __ACCLIB_HALLOC_USE_DAH 1
  |  | 6950|       |#elif 1 && (ACC_OS_WIN16)
  |  | 6951|       |#  define __ACCLIB_HALLOC_USE_GA 1
  |  | 6952|       |#elif 1 && (ACC_OS_DOS16) && (ACC_CC_BORLANDC) && defined(__DPMI16__)
  |  | 6953|       |#  define __ACCLIB_HALLOC_USE_GA 1
  |  | 6954|       |#endif
  |  | 6955|       |#endif
  |  | 6956|       |#if (__ACCLIB_HALLOC_USE_DAH)
  |  | 6957|       |#if 0 && (ACC_OS_OS216)
  |  | 6958|       |#include <os2.h>
  |  | 6959|       |#else
  |  | 6960|       |ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
  |  | 6961|       |ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
  |  | 6962|       |#endif
  |  | 6963|       |#endif
  |  | 6964|       |#if (__ACCLIB_HALLOC_USE_GA)
  |  | 6965|       |#if 0
  |  | 6966|       |#define STRICT 1
  |  | 6967|       |#include <windows.h>
  |  | 6968|       |#else
  |  | 6969|       |ACC_EXTERN_C const void __near* __far __pascal GlobalAlloc(unsigned, unsigned long);
  |  | 6970|       |ACC_EXTERN_C const void __near* __far __pascal GlobalFree(const void __near*);
  |  | 6971|       |ACC_EXTERN_C unsigned long __far __pascal GlobalHandle(unsigned);
  |  | 6972|       |ACC_EXTERN_C void __far* __far __pascal GlobalLock(const void __near*);
  |  | 6973|       |ACC_EXTERN_C int __far __pascal GlobalUnlock(const void __near*);
  |  | 6974|       |#endif
  |  | 6975|       |#endif
  |  | 6976|       |ACCLIB_PUBLIC(acc_hvoid_p, acc_halloc) (acc_hsize_t size)
  |  | 6977|       |{
  |  | 6978|       |    acc_hvoid_p p = ACC_STATIC_CAST(acc_hvoid_p, ACC_nullptr);
  |  | 6979|       |    if (!(size > 0))
  |  | 6980|       |        return p;
  |  | 6981|       |#if 0 && defined(__palmos__)
  |  | 6982|       |    p = MemPtrNew(size);
  |  | 6983|       |#elif !(ACC_HAVE_MM_HUGE_PTR)
  |  | 6984|       |    if (size < (~(ACC_STATIC_CAST(size_t, 0)) & ~(ACC_STATIC_CAST(acc_hsize_t, 0))))
  |  | 6985|       |        p = malloc(ACC_STATIC_CAST(size_t, size));
  |  | 6986|       |#else
  |  | 6987|       |    if (ACC_STATIC_CAST(long, size) <= 0)
  |  | 6988|       |        return p;
  |  | 6989|       |{
  |  | 6990|       |#if (__ACCLIB_HALLOC_USE_DAH)
  |  | 6991|       |    unsigned short sel = 0;
  |  | 6992|       |    if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
  |  | 6993|       |        p = (acc_hvoid_p) ACC_PTR_MK_FP(sel, 0);
  |  | 6994|       |#elif (__ACCLIB_HALLOC_USE_GA)
  |  | 6995|       |    const void __near* h = GlobalAlloc(2, size);
  |  | 6996|       |    if (h) {
  |  | 6997|       |        p = GlobalLock(h);
  |  | 6998|       |        if (p && ACC_PTR_FP_OFF(p) != 0) {
  |  | 6999|       |            GlobalUnlock(h);
  |  | 7000|       |            p = 0;
  |  | 7001|       |        }
  |  | 7002|       |        if (!p)
  |  | 7003|       |            GlobalFree(h);
  |  | 7004|       |    }
  |  | 7005|       |#elif (ACC_CC_MSC && (_MSC_VER >= 700))
  |  | 7006|       |    p = _halloc(size, 1);
  |  | 7007|       |#elif (ACC_CC_MSC || ACC_CC_WATCOMC)
  |  | 7008|       |    p = halloc(size, 1);
  |  | 7009|       |#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 7010|       |    p = farmalloc(size);
  |  | 7011|       |#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 7012|       |    p = farmalloc(size);
  |  | 7013|       |#elif (ACC_CC_AZTECC)
  |  | 7014|       |    p = lmalloc(size);
  |  | 7015|       |#else
  |  | 7016|       |    if (size < ACC_STATIC_CAST(size_t, -1))
  |  | 7017|       |        p = malloc(ACC_STATIC_CAST(size_t, size));
  |  | 7018|       |#endif
  |  | 7019|       |}
  |  | 7020|       |#endif
  |  | 7021|       |    return p;
  |  | 7022|       |}
  |  | 7023|       |ACCLIB_PUBLIC(void, acc_hfree) (acc_hvoid_p p)
  |  | 7024|       |{
  |  | 7025|       |    if (!p)
  |  | 7026|       |        return;
  |  | 7027|       |#if 0 && defined(__palmos__)
  |  | 7028|       |    MemPtrFree(p);
  |  | 7029|       |#elif !(ACC_HAVE_MM_HUGE_PTR)
  |  | 7030|       |    free(p);
  |  | 7031|       |#else
  |  | 7032|       |#if (__ACCLIB_HALLOC_USE_DAH)
  |  | 7033|       |    if (ACC_PTR_FP_OFF(p) == 0)
  |  | 7034|       |        DosFreeSeg((unsigned short) ACC_PTR_FP_SEG(p));
  |  | 7035|       |#elif (__ACCLIB_HALLOC_USE_GA)
  |  | 7036|       |    if (ACC_PTR_FP_OFF(p) == 0) {
  |  | 7037|       |        const void __near* h = (const void __near*) (unsigned) GlobalHandle(ACC_PTR_FP_SEG(p));
  |  | 7038|       |        if (h) {
  |  | 7039|       |            GlobalUnlock(h);
  |  | 7040|       |            GlobalFree(h);
  |  | 7041|       |        }
  |  | 7042|       |    }
  |  | 7043|       |#elif (ACC_CC_MSC && (_MSC_VER >= 700))
  |  | 7044|       |    _hfree(p);
  |  | 7045|       |#elif (ACC_CC_MSC || ACC_CC_WATCOMC)
  |  | 7046|       |    hfree(p);
  |  | 7047|       |#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 7048|       |    farfree((void __far*) p);
  |  | 7049|       |#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 7050|       |    farfree((void __far*) p);
  |  | 7051|       |#elif (ACC_CC_AZTECC)
  |  | 7052|       |    lfree(p);
  |  | 7053|       |#else
  |  | 7054|       |    free(p);
  |  | 7055|       |#endif
  |  | 7056|       |#endif
  |  | 7057|       |}
  |  | 7058|       |#endif
  |  | 7059|       |#if defined(ACC_WANT_ACCLIB_HFREAD)
  |  | 7060|       |#  undef ACC_WANT_ACCLIB_HFREAD
  |  | 7061|       |#define __ACCLIB_HFREAD_CH_INCLUDED 1
  |  | 7062|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7063|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 7064|       |#endif
  |  | 7065|       |ACCLIB_PUBLIC(acc_hsize_t, acc_hfread) (void* vfp, acc_hvoid_p buf, acc_hsize_t size)
  |  | 7066|       |{
  |  | 7067|       |    FILE* fp = ACC_STATIC_CAST(FILE *, vfp);
  |  | 7068|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 7069|       |#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 7070|       |#define __ACCLIB_REQUIRE_HMEMCPY_CH 1
  |  | 7071|       |    unsigned char tmp[512];
  |  | 7072|       |    acc_hsize_t l = 0;
  |  | 7073|       |    while (l < size)
  |  | 7074|       |    {
  |  | 7075|       |        size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l);
  |  | 7076|       |        n = fread(tmp, 1, n, fp);
  |  | 7077|       |        if (n == 0)
  |  | 7078|       |            break;
  |  | 7079|       |        __ACCLIB_FUNCNAME(acc_hmemcpy)((acc_hbyte_p)buf + l, tmp, (acc_hsize_t)n);
  |  | 7080|       |        l += n;
  |  | 7081|       |    }
  |  | 7082|       |    return l;
  |  | 7083|       |#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 7084|       |    acc_hbyte_p b = (acc_hbyte_p) buf;
  |  | 7085|       |    acc_hsize_t l = 0;
  |  | 7086|       |    while (l < size)
  |  | 7087|       |    {
  |  | 7088|       |        size_t n;
  |  | 7089|       |        n = ACC_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n);
  |  | 7090|       |        if ((acc_hsize_t) n > size - l)
  |  | 7091|       |            n = (size_t) (size - l);
  |  | 7092|       |        n = fread((void __far*)b, 1, n, fp);
  |  | 7093|       |        if (n == 0)
  |  | 7094|       |            break;
  |  | 7095|       |        b += n; l += n;
  |  | 7096|       |    }
  |  | 7097|       |    return l;
  |  | 7098|       |#else
  |  | 7099|       |#  error "unknown memory model"
  |  | 7100|       |#endif
  |  | 7101|       |#else
  |  | 7102|       |    return fread(buf, 1, size, fp);
  |  | 7103|       |#endif
  |  | 7104|       |}
  |  | 7105|       |ACCLIB_PUBLIC(acc_hsize_t, acc_hfwrite) (void* vfp, const acc_hvoid_p buf, acc_hsize_t size)
  |  | 7106|       |{
  |  | 7107|       |    FILE* fp = ACC_STATIC_CAST(FILE *, vfp);
  |  | 7108|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 7109|       |#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 7110|       |#define __ACCLIB_REQUIRE_HMEMCPY_CH 1
  |  | 7111|       |    unsigned char tmp[512];
  |  | 7112|       |    acc_hsize_t l = 0;
  |  | 7113|       |    while (l < size)
  |  | 7114|       |    {
  |  | 7115|       |        size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l);
  |  | 7116|       |        __ACCLIB_FUNCNAME(acc_hmemcpy)(tmp, (const acc_hbyte_p)buf + l, (acc_hsize_t)n);
  |  | 7117|       |        n = fwrite(tmp, 1, n, fp);
  |  | 7118|       |        if (n == 0)
  |  | 7119|       |            break;
  |  | 7120|       |        l += n;
  |  | 7121|       |    }
  |  | 7122|       |    return l;
  |  | 7123|       |#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 7124|       |    const acc_hbyte_p b = (const acc_hbyte_p) buf;
  |  | 7125|       |    acc_hsize_t l = 0;
  |  | 7126|       |    while (l < size)
  |  | 7127|       |    {
  |  | 7128|       |        size_t n;
  |  | 7129|       |        n = ACC_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n);
  |  | 7130|       |        if ((acc_hsize_t) n > size - l)
  |  | 7131|       |            n = (size_t) (size - l);
  |  | 7132|       |        n = fwrite((void __far*)b, 1, n, fp);
  |  | 7133|       |        if (n == 0)
  |  | 7134|       |            break;
  |  | 7135|       |        b += n; l += n;
  |  | 7136|       |    }
  |  | 7137|       |    return l;
  |  | 7138|       |#else
  |  | 7139|       |#  error "unknown memory model"
  |  | 7140|       |#endif
  |  | 7141|       |#else
  |  | 7142|       |    return fwrite(buf, 1, size, fp);
  |  | 7143|       |#endif
  |  | 7144|       |}
  |  | 7145|       |#endif
  |  | 7146|       |#if defined(ACC_WANT_ACCLIB_HSREAD)
  |  | 7147|       |#  undef ACC_WANT_ACCLIB_HSREAD
  |  | 7148|       |#define __ACCLIB_HSREAD_CH_INCLUDED 1
  |  | 7149|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7150|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 7151|       |#endif
  |  | 7152|       |ACCLIB_PUBLIC(long, acc_safe_hread) (int fd, acc_hvoid_p buf, long size)
  |  | 7153|       |{
  |  | 7154|       |    acc_hbyte_p b = (acc_hbyte_p) buf;
  |  | 7155|       |    long l = 0;
  |  | 7156|       |    int saved_errno;
  |  | 7157|       |    saved_errno = errno;
  |  | 7158|       |    while (l < size)
  |  | 7159|       |    {
  |  | 7160|       |        long n = size - l;
  |  | 7161|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 7162|       |#  define __ACCLIB_REQUIRE_HREAD_CH 1
  |  | 7163|       |        errno = 0; n = acc_hread(fd, b, n);
  |  | 7164|       |#elif (ACC_OS_DOS32) && defined(__DJGPP__)
  |  | 7165|       |        errno = 0; n = _read(fd, b, n);
  |  | 7166|       |#else
  |  | 7167|       |        errno = 0; n = read(fd, b, n);
  |  | 7168|       |#endif
  |  | 7169|       |        if (n == 0)
  |  | 7170|       |            break;
  |  | 7171|       |        if (n < 0) {
  |  | 7172|       |#if defined(EAGAIN)
  |  | 7173|       |            if (errno == (EAGAIN)) continue;
  |  | 7174|       |#endif
  |  | 7175|       |#if defined(EINTR)
  |  | 7176|       |            if (errno == (EINTR)) continue;
  |  | 7177|       |#endif
  |  | 7178|       |            if (errno == 0) errno = 1;
  |  | 7179|       |            return l;
  |  | 7180|       |        }
  |  | 7181|       |        b += n; l += n;
  |  | 7182|       |    }
  |  | 7183|       |    errno = saved_errno;
  |  | 7184|       |    return l;
  |  | 7185|       |}
  |  | 7186|       |ACCLIB_PUBLIC(long, acc_safe_hwrite) (int fd, const acc_hvoid_p buf, long size)
  |  | 7187|       |{
  |  | 7188|       |    const acc_hbyte_p b = (const acc_hbyte_p) buf;
  |  | 7189|       |    long l = 0;
  |  | 7190|       |    int saved_errno;
  |  | 7191|       |    saved_errno = errno;
  |  | 7192|       |    while (l < size)
  |  | 7193|       |    {
  |  | 7194|       |        long n = size - l;
  |  | 7195|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 7196|       |#  define __ACCLIB_REQUIRE_HREAD_CH 1
  |  | 7197|       |        errno = 0; n = acc_hwrite(fd, b, n);
  |  | 7198|       |#elif (ACC_OS_DOS32) && defined(__DJGPP__)
  |  | 7199|       |        errno = 0; n = _write(fd, b, n);
  |  | 7200|       |#else
  |  | 7201|       |        errno = 0; n = write(fd, b, n);
  |  | 7202|       |#endif
  |  | 7203|       |        if (n == 0)
  |  | 7204|       |            break;
  |  | 7205|       |        if (n < 0) {
  |  | 7206|       |#if defined(EAGAIN)
  |  | 7207|       |            if (errno == (EAGAIN)) continue;
  |  | 7208|       |#endif
  |  | 7209|       |#if defined(EINTR)
  |  | 7210|       |            if (errno == (EINTR)) continue;
  |  | 7211|       |#endif
  |  | 7212|       |            if (errno == 0) errno = 1;
  |  | 7213|       |            return l;
  |  | 7214|       |        }
  |  | 7215|       |        b += n; l += n;
  |  | 7216|       |    }
  |  | 7217|       |    errno = saved_errno;
  |  | 7218|       |    return l;
  |  | 7219|       |}
  |  | 7220|       |#endif
  |  | 7221|       |#if defined(ACC_WANT_ACCLIB_PCLOCK)
  |  | 7222|       |#  undef ACC_WANT_ACCLIB_PCLOCK
  |  | 7223|       |#define __ACCLIB_PCLOCK_CH_INCLUDED 1
  |  | 7224|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7225|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 7226|       |#endif
  |  | 7227|       |#if 1 && (ACC_OS_POSIX_LINUX && ACC_ARCH_AMD64 && ACC_ASM_SYNTAX_GNUC && !ACC_CFG_NO_SYSCALL)
  |  | 7228|       |#ifndef acc_pclock_syscall_clock_gettime
  |  | 7229|       |#define acc_pclock_syscall_clock_gettime acc_pclock_syscall_clock_gettime
  |  | 7230|       |#endif
  |  | 7231|       |__acc_static_noinline long acc_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
  |  | 7232|       |{
  |  | 7233|       |    unsigned long r = 228;
  |  | 7234|       |    ACC_COMPILE_TIME_ASSERT(sizeof(*ts) == 16);
  |  | 7235|       |    __asm__ __volatile__("syscall\n" : "=a" (r), "=m" (*ts) : "0" (r), "D" (clockid), "S" (ts) __ACC_ASM_CLOBBER_LIST_CC);
  |  | 7236|       |    return ACC_ICAST(long, r);
  |  | 7237|       |}
  |  | 7238|       |#endif
  |  | 7239|       |#if 1 && (ACC_OS_POSIX_LINUX && ACC_ARCH_I386 && ACC_ASM_SYNTAX_GNUC && !ACC_CFG_NO_SYSCALL) && defined(acc_int64l_t)
  |  | 7240|       |#ifndef acc_pclock_syscall_clock_gettime
  |  | 7241|       |#define acc_pclock_syscall_clock_gettime acc_pclock_syscall_clock_gettime
  |  | 7242|       |#endif
  |  | 7243|       |__acc_static_noinline long acc_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
  |  | 7244|       |{
  |  | 7245|       |    unsigned long r = 265 + ((sizeof(*ts) > 8) * (403 - 265));
  |  | 7246|       |    __asm__ __volatile__("pushl %%ebx\n pushl %%edx\n popl %%ebx\n int $0x80\n popl %%ebx\n": "=a" (r), "=m" (*ts) : "0" (r), "d" (clockid), "c" (ts) __ACC_ASM_CLOBBER_LIST_CC);
  |  | 7247|       |    return ACC_ICAST(long, r);
  |  | 7248|       |}
  |  | 7249|       |#endif
  |  | 7250|       |#if 0 && defined(acc_pclock_syscall_clock_gettime)
  |  | 7251|       |#ifndef acc_pclock_read_clock_gettime_r_syscall
  |  | 7252|       |#define acc_pclock_read_clock_gettime_r_syscall acc_pclock_read_clock_gettime_r_syscall
  |  | 7253|       |#endif
  |  | 7254|       |static int acc_pclock_read_clock_gettime_r_syscall(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7255|       |{
  |  | 7256|       |     struct timespec ts;
  |  | 7257|       |    if (acc_pclock_syscall_clock_gettime(0, &ts) != 0)
  |  | 7258|       |        return -1;
  |  | 7259|       |    c->tv_sec = ts.tv_sec;
  |  | 7260|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7261|       |    ACC_UNUSED(h); return 0;
  |  | 7262|       |}
  |  | 7263|       |#endif
  |  | 7264|       |#if (HAVE_GETTIMEOFDAY)
  |  | 7265|       |#ifndef acc_pclock_read_gettimeofday
  |  | 7266|       |#define acc_pclock_read_gettimeofday acc_pclock_read_gettimeofday
  |  | 7267|       |#endif
  |  | 7268|       |static int acc_pclock_read_gettimeofday(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7269|       |{
  |  | 7270|       |    struct timeval tv;
  |  | 7271|       |    if (gettimeofday(&tv, ACC_nullptr) != 0)
  |  | 7272|       |        return -1;
  |  | 7273|       |#if defined(acc_int64l_t)
  |  | 7274|       |    c->tv_sec = tv.tv_sec;
  |  | 7275|       |#else
  |  | 7276|       |    c->tv_sec_high = 0;
  |  | 7277|       |    c->tv_sec_low = tv.tv_sec;
  |  | 7278|       |#endif
  |  | 7279|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, (tv.tv_usec * 1000u));
  |  | 7280|       |    ACC_UNUSED(h); return 0;
  |  | 7281|       |}
  |  | 7282|       |#endif
  |  | 7283|       |#if defined(CLOCKS_PER_SEC) && !(ACC_CFG_NO_DOUBLE)
  |  | 7284|       |#ifndef acc_pclock_read_clock
  |  | 7285|       |#define acc_pclock_read_clock acc_pclock_read_clock
  |  | 7286|       |#endif
  |  | 7287|       |static int acc_pclock_read_clock(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7288|       |{
  |  | 7289|       |    clock_t ticks;
  |  | 7290|       |    double secs;
  |  | 7291|       |#if defined(acc_int64l_t)
  |  | 7292|       |    acc_uint64l_t nsecs;
  |  | 7293|       |    ticks = clock();
  |  | 7294|       |    secs = ACC_STATIC_CAST(double, ticks) / (CLOCKS_PER_SEC);
  |  | 7295|       |    nsecs = ACC_STATIC_CAST(acc_uint64l_t, (secs * 1000000000.0));
  |  | 7296|       |    c->tv_sec = ACC_STATIC_CAST(acc_int64l_t, (nsecs / 1000000000ul));
  |  | 7297|       |    nsecs = (nsecs % 1000000000ul);
  |  | 7298|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, nsecs);
  |  | 7299|       |#else
  |  | 7300|       |    ticks = clock();
  |  | 7301|       |    secs = ACC_STATIC_CAST(double, ticks) / (CLOCKS_PER_SEC);
  |  | 7302|       |    c->tv_sec_high = 0;
  |  | 7303|       |    c->tv_sec_low = ACC_STATIC_CAST(acc_uint32l_t, (secs + 0.5));
  |  | 7304|       |    c->tv_nsec = 0;
  |  | 7305|       |#endif
  |  | 7306|       |    ACC_UNUSED(h); return 0;
  |  | 7307|       |}
  |  | 7308|       |#endif
  |  | 7309|       |#if 1 && defined(acc_pclock_syscall_clock_gettime)
  |  | 7310|       |#ifndef acc_pclock_read_clock_gettime_m_syscall
  |  | 7311|       |#define acc_pclock_read_clock_gettime_m_syscall acc_pclock_read_clock_gettime_m_syscall
  |  | 7312|       |#endif
  |  | 7313|       |static int acc_pclock_read_clock_gettime_m_syscall(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7314|       |{
  |  | 7315|       |     struct timespec ts;
  |  | 7316|       |    if (acc_pclock_syscall_clock_gettime(1, &ts) != 0)
  |  | 7317|       |        return -1;
  |  | 7318|       |    c->tv_sec = ts.tv_sec;
  |  | 7319|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7320|       |    ACC_UNUSED(h); return 0;
  |  | 7321|       |}
  |  | 7322|       |#endif
  |  | 7323|       |#if (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__) && defined(UCLOCKS_PER_SEC) && !(ACC_CFG_NO_DOUBLE)
  |  | 7324|       |#ifndef acc_pclock_read_uclock
  |  | 7325|       |#define acc_pclock_read_uclock acc_pclock_read_uclock
  |  | 7326|       |#endif
  |  | 7327|       |static int acc_pclock_read_uclock(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7328|       |{
  |  | 7329|       |    acc_uint64l_t ticks;
  |  | 7330|       |    double secs;
  |  | 7331|       |    acc_uint64l_t nsecs;
  |  | 7332|       |    ticks = uclock();
  |  | 7333|       |    secs = ACC_STATIC_CAST(double, ticks) / (UCLOCKS_PER_SEC);
  |  | 7334|       |    nsecs = ACC_STATIC_CAST(acc_uint64l_t, (secs * 1000000000.0));
  |  | 7335|       |    c->tv_sec = nsecs / 1000000000ul;
  |  | 7336|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, (nsecs % 1000000000ul));
  |  | 7337|       |    ACC_UNUSED(h); return 0;
  |  | 7338|       |}
  |  | 7339|       |#endif
  |  | 7340|       |#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) && defined(acc_int64l_t)
  |  | 7341|       |#ifndef acc_pclock_read_clock_gettime_p_libc
  |  | 7342|       |#define acc_pclock_read_clock_gettime_p_libc acc_pclock_read_clock_gettime_p_libc
  |  | 7343|       |#endif
  |  | 7344|       |static int acc_pclock_read_clock_gettime_p_libc(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7345|       |{
  |  | 7346|       |    struct timespec ts;
  |  | 7347|       |    if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) != 0)
  |  | 7348|       |        return -1;
  |  | 7349|       |    c->tv_sec = ts.tv_sec;
  |  | 7350|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7351|       |    ACC_UNUSED(h); return 0;
  |  | 7352|       |}
  |  | 7353|       |#endif
  |  | 7354|       |#if 1 && defined(acc_pclock_syscall_clock_gettime)
  |  | 7355|       |#ifndef acc_pclock_read_clock_gettime_p_syscall
  |  | 7356|       |#define acc_pclock_read_clock_gettime_p_syscall acc_pclock_read_clock_gettime_p_syscall
  |  | 7357|       |#endif
  |  | 7358|       |static int acc_pclock_read_clock_gettime_p_syscall(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7359|       |{
  |  | 7360|       |     struct timespec ts;
  |  | 7361|       |    if (acc_pclock_syscall_clock_gettime(2, &ts) != 0)
  |  | 7362|       |        return -1;
  |  | 7363|       |    c->tv_sec = ts.tv_sec;
  |  | 7364|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7365|       |    ACC_UNUSED(h); return 0;
  |  | 7366|       |}
  |  | 7367|       |#endif
  |  | 7368|       |#if (ACC_OS_CYGWIN || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
  |  | 7369|       |#ifndef acc_pclock_read_getprocesstimes
  |  | 7370|       |#define acc_pclock_read_getprocesstimes acc_pclock_read_getprocesstimes
  |  | 7371|       |#endif
  |  | 7372|       |static int acc_pclock_read_getprocesstimes(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7373|       |{
  |  | 7374|       |    FILETIME ct, et, kt, ut;
  |  | 7375|       |    acc_uint64l_t ticks;
  |  | 7376|       |    if (GetProcessTimes(GetCurrentProcess(), &ct, &et, &kt, &ut) == 0)
  |  | 7377|       |        return -1;
  |  | 7378|       |    ticks = (ACC_STATIC_CAST(acc_uint64l_t, ut.dwHighDateTime) << 32) | ut.dwLowDateTime;
  |  | 7379|       |    if __acc_unlikely(h->ticks_base == 0)
  |  | 7380|       |        h->ticks_base = ticks;
  |  | 7381|       |    else
  |  | 7382|       |        ticks -= h->ticks_base;
  |  | 7383|       |    c->tv_sec = ACC_STATIC_CAST(acc_int64l_t, (ticks / 10000000ul));
  |  | 7384|       |    ticks = (ticks % 10000000ul) * 100u;
  |  | 7385|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ticks);
  |  | 7386|       |    ACC_UNUSED(h); return 0;
  |  | 7387|       |}
  |  | 7388|       |#endif
  |  | 7389|       |#if (HAVE_GETRUSAGE) && defined(RUSAGE_SELF)
  |  | 7390|       |#ifndef acc_pclock_read_getrusage
  |  | 7391|       |#define acc_pclock_read_getrusage acc_pclock_read_getrusage
  |  | 7392|       |#endif
  |  | 7393|       |static int acc_pclock_read_getrusage(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7394|       |{
  |  | 7395|       |    struct rusage ru;
  |  | 7396|       |    if (getrusage(RUSAGE_SELF, &ru) != 0)
  |  | 7397|       |        return -1;
  |  | 7398|       |#if defined(acc_int64l_t)
  |  | 7399|       |    c->tv_sec = ru.ru_utime.tv_sec;
  |  | 7400|       |#else
  |  | 7401|       |    c->tv_sec_high = 0;
  |  | 7402|       |    c->tv_sec_low = ru.ru_utime.tv_sec;
  |  | 7403|       |#endif
  |  | 7404|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, (ru.ru_utime.tv_usec * 1000u));
  |  | 7405|       |    ACC_UNUSED(h); return 0;
  |  | 7406|       |}
  |  | 7407|       |#endif
  |  | 7408|       |#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_THREAD_CPUTIME_ID) && defined(acc_int64l_t)
  |  | 7409|       |#ifndef acc_pclock_read_clock_gettime_t_libc
  |  | 7410|       |#define acc_pclock_read_clock_gettime_t_libc acc_pclock_read_clock_gettime_t_libc
  |  | 7411|       |#endif
  |  | 7412|       |static int acc_pclock_read_clock_gettime_t_libc(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7413|       |{
  |  | 7414|       |    struct timespec ts;
  |  | 7415|       |    if (clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts) != 0)
  |  | 7416|       |        return -1;
  |  | 7417|       |    c->tv_sec = ts.tv_sec;
  |  | 7418|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7419|       |    ACC_UNUSED(h); return 0;
  |  | 7420|       |}
  |  | 7421|       |#endif
  |  | 7422|       |#if 1 && defined(acc_pclock_syscall_clock_gettime)
  |  | 7423|       |#ifndef acc_pclock_read_clock_gettime_t_syscall
  |  | 7424|       |#define acc_pclock_read_clock_gettime_t_syscall acc_pclock_read_clock_gettime_t_syscall
  |  | 7425|       |#endif
  |  | 7426|       |static int acc_pclock_read_clock_gettime_t_syscall(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7427|       |{
  |  | 7428|       |     struct timespec ts;
  |  | 7429|       |    if (acc_pclock_syscall_clock_gettime(3, &ts) != 0)
  |  | 7430|       |        return -1;
  |  | 7431|       |    c->tv_sec = ts.tv_sec;
  |  | 7432|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7433|       |    ACC_UNUSED(h); return 0;
  |  | 7434|       |}
  |  | 7435|       |#endif
  |  | 7436|       |#if (ACC_OS_CYGWIN || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
  |  | 7437|       |#ifndef acc_pclock_read_getthreadtimes
  |  | 7438|       |#define acc_pclock_read_getthreadtimes acc_pclock_read_getthreadtimes
  |  | 7439|       |#endif
  |  | 7440|       |static int acc_pclock_read_getthreadtimes(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7441|       |{
  |  | 7442|       |    FILETIME ct, et, kt, ut;
  |  | 7443|       |    acc_uint64l_t ticks;
  |  | 7444|       |    if (GetThreadTimes(GetCurrentThread(), &ct, &et, &kt, &ut) == 0)
  |  | 7445|       |        return -1;
  |  | 7446|       |    ticks = (ACC_STATIC_CAST(acc_uint64l_t, ut.dwHighDateTime) << 32) | ut.dwLowDateTime;
  |  | 7447|       |    if __acc_unlikely(h->ticks_base == 0)
  |  | 7448|       |        h->ticks_base = ticks;
  |  | 7449|       |    else
  |  | 7450|       |        ticks -= h->ticks_base;
  |  | 7451|       |    c->tv_sec = ACC_STATIC_CAST(acc_int64l_t, (ticks / 10000000ul));
  |  | 7452|       |    ticks = (ticks % 10000000ul) * 100u;
  |  | 7453|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ticks);
  |  | 7454|       |    ACC_UNUSED(h); return 0;
  |  | 7455|       |}
  |  | 7456|       |#endif
  |  | 7457|       |ACCLIB_PUBLIC(int, acc_pclock_open) (acc_pclock_handle_p h, int mode)
  |  | 7458|       |{
  |  | 7459|       |    acc_pclock_t c;
  |  | 7460|       |    int i;
  |  | 7461|       |    h->h = ACC_STATIC_CAST(acclib_handle_t, 0);
  |  | 7462|       |    h->mode = -1;
  |  | 7463|       |    h->read_error = 2;
  |  | 7464|       |    h->name = ACC_nullptr;
  |  | 7465|       |    h->gettime = ACC_STATIC_CAST(acc_pclock_gettime_t, ACC_nullptr);
  |  | 7466|       |#if defined(acc_int64l_t)
  |  | 7467|       |    h->ticks_base = 0;
  |  | 7468|       |#endif
  |  | 7469|       |    switch (mode)
  |  | 7470|       |    {
  |  | 7471|       |    case ACC_PCLOCK_REALTIME:
  |  | 7472|       |#     if defined(acc_pclock_read_clock_gettime_r_syscall)
  |  | 7473|       |        if (acc_pclock_read_clock_gettime_r_syscall(h, &c) == 0) {
  |  | 7474|       |            h->gettime = acc_pclock_read_clock_gettime_r_syscall;
  |  | 7475|       |            h->name = "CLOCK_REALTIME/syscall";
  |  | 7476|       |            break;
  |  | 7477|       |        }
  |  | 7478|       |#     endif
  |  | 7479|       |#     if defined(acc_pclock_read_gettimeofday)
  |  | 7480|       |        if (acc_pclock_read_gettimeofday(h, &c) == 0) {
  |  | 7481|       |            h->gettime = acc_pclock_read_gettimeofday;
  |  | 7482|       |            h->name = "gettimeofday";
  |  | 7483|       |            break;
  |  | 7484|       |        }
  |  | 7485|       |#     endif
  |  | 7486|       |        break;
  |  | 7487|       |    case ACC_PCLOCK_MONOTONIC:
  |  | 7488|       |#     if defined(acc_pclock_read_clock_gettime_m_syscall)
  |  | 7489|       |        if (acc_pclock_read_clock_gettime_m_syscall(h, &c) == 0) {
  |  | 7490|       |            h->gettime = acc_pclock_read_clock_gettime_m_syscall;
  |  | 7491|       |            h->name = "CLOCK_MONOTONIC/syscall";
  |  | 7492|       |            break;
  |  | 7493|       |        }
  |  | 7494|       |#     endif
  |  | 7495|       |#     if defined(acc_pclock_read_uclock)
  |  | 7496|       |        if (acc_pclock_read_uclock(h, &c) == 0) {
  |  | 7497|       |            h->gettime = acc_pclock_read_uclock;
  |  | 7498|       |            h->name = "uclock";
  |  | 7499|       |            break;
  |  | 7500|       |        }
  |  | 7501|       |#     endif
  |  | 7502|       |#     if defined(acc_pclock_read_clock)
  |  | 7503|       |        if (acc_pclock_read_clock(h, &c) == 0) {
  |  | 7504|       |            h->gettime = acc_pclock_read_clock;
  |  | 7505|       |            h->name = "clock";
  |  | 7506|       |            break;
  |  | 7507|       |        }
  |  | 7508|       |#     endif
  |  | 7509|       |        break;
  |  | 7510|       |    case ACC_PCLOCK_PROCESS_CPUTIME_ID:
  |  | 7511|       |#     if defined(acc_pclock_read_getprocesstimes)
  |  | 7512|       |        if (acc_pclock_read_getprocesstimes(h, &c) == 0) {
  |  | 7513|       |            h->gettime = acc_pclock_read_getprocesstimes;
  |  | 7514|       |            h->name = "GetProcessTimes";
  |  | 7515|       |            break;
  |  | 7516|       |        }
  |  | 7517|       |#     endif
  |  | 7518|       |#     if defined(acc_pclock_read_clock_gettime_p_syscall)
  |  | 7519|       |        if (acc_pclock_read_clock_gettime_p_syscall(h, &c) == 0) {
  |  | 7520|       |            h->gettime = acc_pclock_read_clock_gettime_p_syscall;
  |  | 7521|       |            h->name = "CLOCK_PROCESS_CPUTIME_ID/syscall";
  |  | 7522|       |            break;
  |  | 7523|       |        }
  |  | 7524|       |#     endif
  |  | 7525|       |#     if defined(acc_pclock_read_clock_gettime_p_libc)
  |  | 7526|       |        if (acc_pclock_read_clock_gettime_p_libc(h, &c) == 0) {
  |  | 7527|       |            h->gettime = acc_pclock_read_clock_gettime_p_libc;
  |  | 7528|       |            h->name = "CLOCK_PROCESS_CPUTIME_ID/libc";
  |  | 7529|       |            break;
  |  | 7530|       |        }
  |  | 7531|       |#     endif
  |  | 7532|       |#     if defined(acc_pclock_read_getrusage)
  |  | 7533|       |        if (acc_pclock_read_getrusage(h, &c) == 0) {
  |  | 7534|       |            h->gettime = acc_pclock_read_getrusage;
  |  | 7535|       |            h->name = "getrusage";
  |  | 7536|       |            break;
  |  | 7537|       |        }
  |  | 7538|       |#     endif
  |  | 7539|       |        break;
  |  | 7540|       |    case ACC_PCLOCK_THREAD_CPUTIME_ID:
  |  | 7541|       |#     if defined(acc_pclock_read_getthreadtimes)
  |  | 7542|       |        if (acc_pclock_read_getthreadtimes(h, &c) == 0) {
  |  | 7543|       |            h->gettime = acc_pclock_read_getthreadtimes;
  |  | 7544|       |            h->name = "GetThreadTimes";
  |  | 7545|       |        }
  |  | 7546|       |#     endif
  |  | 7547|       |#     if defined(acc_pclock_read_clock_gettime_t_syscall)
  |  | 7548|       |        if (acc_pclock_read_clock_gettime_t_syscall(h, &c) == 0) {
  |  | 7549|       |            h->gettime = acc_pclock_read_clock_gettime_t_syscall;
  |  | 7550|       |            h->name = "CLOCK_THREAD_CPUTIME_ID/syscall";
  |  | 7551|       |            break;
  |  | 7552|       |        }
  |  | 7553|       |#     endif
  |  | 7554|       |#     if defined(acc_pclock_read_clock_gettime_t_libc)
  |  | 7555|       |        if (acc_pclock_read_clock_gettime_t_libc(h, &c) == 0) {
  |  | 7556|       |            h->gettime = acc_pclock_read_clock_gettime_t_libc;
  |  | 7557|       |            h->name = "CLOCK_THREAD_CPUTIME_ID/libc";
  |  | 7558|       |            break;
  |  | 7559|       |        }
  |  | 7560|       |#     endif
  |  | 7561|       |        break;
  |  | 7562|       |    }
  |  | 7563|       |    if (!h->gettime)
  |  | 7564|       |        return -1;
  |  | 7565|       |    if (!h->h)
  |  | 7566|       |        h->h = ACC_STATIC_CAST(acclib_handle_t, 1);
  |  | 7567|       |    h->mode = mode;
  |  | 7568|       |    h->read_error = 0;
  |  | 7569|       |    if (!h->name)
  |  | 7570|       |        h->name = "unknown";
  |  | 7571|       |    for (i = 0; i < 10; i++) {
  |  | 7572|       |        __ACCLIB_FUNCNAME(acc_pclock_read)(h, &c);
  |  | 7573|       |    }
  |  | 7574|       |    return 0;
  |  | 7575|       |}
  |  | 7576|       |ACCLIB_PUBLIC(int, acc_pclock_open_default) (acc_pclock_handle_p h)
  |  | 7577|       |{
  |  | 7578|       |    if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_PROCESS_CPUTIME_ID) == 0)
  |  | 7579|       |        return 0;
  |  | 7580|       |    if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_MONOTONIC) == 0)
  |  | 7581|       |        return 0;
  |  | 7582|       |    if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_REALTIME) == 0)
  |  | 7583|       |        return 0;
  |  | 7584|       |    if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_THREAD_CPUTIME_ID) == 0)
  |  | 7585|       |        return 0;
  |  | 7586|       |    return -1;
  |  | 7587|       |}
  |  | 7588|       |ACCLIB_PUBLIC(int, acc_pclock_close) (acc_pclock_handle_p h)
  |  | 7589|       |{
  |  | 7590|       |    h->h = ACC_STATIC_CAST(acclib_handle_t, 0);
  |  | 7591|       |    h->mode = -1;
  |  | 7592|       |    h->name = ACC_nullptr;
  |  | 7593|       |    h->gettime = ACC_STATIC_CAST(acc_pclock_gettime_t, ACC_nullptr);
  |  | 7594|       |    return 0;
  |  | 7595|       |}
  |  | 7596|       |ACCLIB_PUBLIC(void, acc_pclock_read) (acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7597|       |{
  |  | 7598|       |    if (h->gettime) {
  |  | 7599|       |        if (h->gettime(h, c) == 0)
  |  | 7600|       |            return;
  |  | 7601|       |    }
  |  | 7602|       |    h->read_error = 1;
  |  | 7603|       |#if defined(acc_int64l_t)
  |  | 7604|       |    c->tv_sec = 0;
  |  | 7605|       |#else
  |  | 7606|       |    c->tv_sec_high = 0;
  |  | 7607|       |    c->tv_sec_low = 0;
  |  | 7608|       |#endif
  |  | 7609|       |    c->tv_nsec = 0;
  |  | 7610|       |}
  |  | 7611|       |#if !(ACC_CFG_NO_DOUBLE)
  |  | 7612|       |ACCLIB_PUBLIC(double, acc_pclock_get_elapsed) (acc_pclock_handle_p h, const acc_pclock_p start, const acc_pclock_p stop)
  |  | 7613|       |{
  |  | 7614|       |    if (!h->h) { h->mode = -1; return 0.0; }
  |  | 7615|       |    {
  |  | 7616|       |#if 1 && (ACC_ARCH_I386 && ACC_CC_GNUC) && defined(__STRICT_ALIGNMENT__)
  |  | 7617|       |    float tstop, tstart;
  |  | 7618|       |    tstop  = ACC_STATIC_CAST(float, (stop->tv_sec  + stop->tv_nsec  / 1000000000.0));
  |  | 7619|       |    tstart = ACC_STATIC_CAST(float, (start->tv_sec + start->tv_nsec / 1000000000.0));
  |  | 7620|       |#elif defined(acc_int64l_t)
  |  | 7621|       |    double tstop, tstart;
  |  | 7622|       |#if 1 && (ACC_CC_INTELC)
  |  | 7623|       |    { acc_int64l_t a = stop->tv_sec; acc_uint32l_t b = stop->tv_nsec;
  |  | 7624|       |    tstop = a + b / 1000000000.0; }
  |  | 7625|       |    { acc_int64l_t a = start->tv_sec; acc_uint32l_t b = start->tv_nsec;
  |  | 7626|       |    tstart = a + b / 1000000000.0; }
  |  | 7627|       |#else
  |  | 7628|       |    tstop  = stop->tv_sec  + stop->tv_nsec  / 1000000000.0;
  |  | 7629|       |    tstart = start->tv_sec + start->tv_nsec / 1000000000.0;
  |  | 7630|       |#endif
  |  | 7631|       |#else
  |  | 7632|       |    double tstop, tstart;
  |  | 7633|       |    tstop  = stop->tv_sec_low  + stop->tv_nsec  / 1000000000.0;
  |  | 7634|       |    tstart = start->tv_sec_low + start->tv_nsec / 1000000000.0;
  |  | 7635|       |#endif
  |  | 7636|       |    return tstop - tstart;
  |  | 7637|       |    }
  |  | 7638|       |}
  |  | 7639|       |#endif
  |  | 7640|       |ACCLIB_PUBLIC(int, acc_pclock_flush_cpu_cache) (acc_pclock_handle_p h, unsigned flags)
  |  | 7641|       |{
  |  | 7642|       |    ACC_UNUSED(h); ACC_UNUSED(flags);
  |  | 7643|       |    return -1;
  |  | 7644|       |}
  |  | 7645|       |#endif
  |  | 7646|       |#if defined(ACC_WANT_ACCLIB_MISC)
  |  | 7647|       |#  undef ACC_WANT_ACCLIB_MISC
  |  | 7648|       |#define __ACCLIB_MISC_CH_INCLUDED 1
  |  | 7649|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7650|       |#  define ACCLIB_PUBLIC(r,f)                r __ACCLIB_FUNCNAME(f)
  |  | 7651|       |#endif
  |  | 7652|       |#if !defined(ACCLIB_PUBLIC_NOINLINE)
  |  | 7653|       |#  if !defined(__acc_noinline)
  |  | 7654|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     r __ACCLIB_FUNCNAME(f)
  |  | 7655|       |#  elif (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
  |  | 7656|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     __acc_noinline __attribute__((__used__)) r __ACCLIB_FUNCNAME(f)
  |  | 7657|       |#  else
  |  | 7658|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     __acc_noinline r __ACCLIB_FUNCNAME(f)
  |  | 7659|       |#  endif
  |  | 7660|       |#endif
  |  | 7661|       |#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
  |  | 7662|       |#  pragma warn(push)
  |  | 7663|       |#  pragma warn(disable:2007)
  |  | 7664|       |#endif
  |  | 7665|       |ACCLIB_PUBLIC(const char *, acc_getenv) (const char *s)
  |  | 7666|       |{
  |  | 7667|       |#if (HAVE_GETENV)
  |  | 7668|       |    return getenv(s);
  |  | 7669|       |#else
  |  | 7670|       |    ACC_UNUSED(s); return ACC_STATIC_CAST(const char *, 0);
  |  | 7671|       |#endif
  |  | 7672|       |}
  |  | 7673|       |ACCLIB_PUBLIC(acc_intptr_t, acc_get_osfhandle) (int fd)
  |  | 7674|       |{
  |  | 7675|       |    if (fd < 0)
  |  | 7676|       |        return -1;
  |  | 7677|       |#if (ACC_OS_CYGWIN)
  |  | 7678|       |    return get_osfhandle(fd);
  |  | 7679|       |#elif (ACC_OS_EMX && defined(__RSXNT__))
  |  | 7680|       |    return -1;
  |  | 7681|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 7682|       |    return -1;
  |  | 7683|       |#elif (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7684|       |# if (ACC_CC_PELLESC && (__POCC__ < 280))
  |  | 7685|       |    return -1;
  |  | 7686|       |# elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
  |  | 7687|       |    return -1;
  |  | 7688|       |# elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
  |  | 7689|       |    return _os_handle(fd);
  |  | 7690|       |# else
  |  | 7691|       |    return _get_osfhandle(fd);
  |  | 7692|       |# endif
  |  | 7693|       |#else
  |  | 7694|       |    return fd;
  |  | 7695|       |#endif
  |  | 7696|       |}
  |  | 7697|       |ACCLIB_PUBLIC(int, acc_set_binmode) (int fd, int binary)
  |  | 7698|       |{
  |  | 7699|       |#if (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
  |  | 7700|       |    FILE* fp; int old_binary;
  |  | 7701|       |    if (fd == STDIN_FILENO) fp = stdin;
  |  | 7702|       |    else if (fd == STDOUT_FILENO) fp = stdout;
  |  | 7703|       |    else if (fd == STDERR_FILENO) fp = stderr;
  |  | 7704|       |    else return -1;
  |  | 7705|       |    old_binary = fp->__mode.__binary;
  |  | 7706|       |    __set_binmode(fp, binary ? 1 : 0);
  |  | 7707|       |    return old_binary ? 1 : 0;
  |  | 7708|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS)
  |  | 7709|       |    ACC_UNUSED(fd); ACC_UNUSED(binary);
  |  | 7710|       |    return -1;
  |  | 7711|       |#elif (ACC_OS_DOS16 && (ACC_CC_AZTECC || ACC_CC_PACIFICC))
  |  | 7712|       |    ACC_UNUSED(fd); ACC_UNUSED(binary);
  |  | 7713|       |    return -1;
  |  | 7714|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 7715|       |    int r; unsigned old_flags = __djgpp_hwint_flags;
  |  | 7716|       |    ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
  |  | 7717|       |    ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
  |  | 7718|       |    if (fd < 0) return -1;
  |  | 7719|       |    r = setmode(fd, binary ? O_BINARY : O_TEXT);
  |  | 7720|       |    if ((old_flags & 1u) != (__djgpp_hwint_flags & 1u))
  |  | 7721|       |        __djgpp_set_ctrl_c(!(old_flags & 1));
  |  | 7722|       |    if (r == -1) return -1;
  |  | 7723|       |    return (r & O_TEXT) ? 0 : 1;
  |  | 7724|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 7725|       |    if (fd < 0) return -1;
  |  | 7726|       |    ACC_UNUSED(binary);
  |  | 7727|       |    return 1;
  |  | 7728|       |#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
  |  | 7729|       |    FILE* fp; int r;
  |  | 7730|       |    if (fd == fileno(stdin)) fp = stdin;
  |  | 7731|       |    else if (fd == fileno(stdout)) fp = stdout;
  |  | 7732|       |    else if (fd == fileno(stderr)) fp = stderr;
  |  | 7733|       |    else return -1;
  |  | 7734|       |    r = _setmode(fp, binary ? _BINARY : _TEXT);
  |  | 7735|       |    if (r == -1) return -1;
  |  | 7736|       |    return (r & _BINARY) ? 1 : 0;
  |  | 7737|       |#elif (ACC_OS_WIN32 && ACC_CC_MWERKS) && defined(__MSL__)
  |  | 7738|       |    ACC_UNUSED(fd); ACC_UNUSED(binary);
  |  | 7739|       |    return -1;
  |  | 7740|       |#elif (ACC_OS_CYGWIN && (ACC_CC_GNUC < 0x025a00ul))
  |  | 7741|       |    ACC_UNUSED(fd); ACC_UNUSED(binary);
  |  | 7742|       |    return -1;
  |  | 7743|       |#elif (ACC_OS_CYGWIN || ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_EMX || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7744|       |    int r;
  |  | 7745|       |#if !(ACC_CC_ZORTECHC)
  |  | 7746|       |    ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
  |  | 7747|       |#endif
  |  | 7748|       |    ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
  |  | 7749|       |    if (fd < 0) return -1;
  |  | 7750|       |    r = setmode(fd, binary ? O_BINARY : O_TEXT);
  |  | 7751|       |    if (r == -1) return -1;
  |  | 7752|       |    return (r & O_TEXT) ? 0 : 1;
  |  | 7753|       |#else
  |  | 7754|       |    if (fd < 0) return -1;
  |  | 7755|       |    ACC_UNUSED(binary);
  |  | 7756|       |    return 1;
  |  | 7757|       |#endif
  |  | 7758|       |}
  |  | 7759|       |ACCLIB_PUBLIC(int, acc_isatty) (int fd)
  |  | 7760|       |{
  |  | 7761|       |    if (fd < 0)
  |  | 7762|       |        return 0;
  |  | 7763|       |#if (ACC_OS_DOS16 && !(ACC_CC_AZTECC))
  |  | 7764|       |    {
  |  | 7765|       |        union REGS ri, ro;
  |  | 7766|       |        ri.x.ax = 0x4400; ri.x.bx = fd;
  |  | 7767|       |        int86(0x21, &ri, &ro);
  |  | 7768|       |        if ((ro.x.cflag & 1) == 0)
  |  | 7769|       |            if ((ro.x.ax & 0x83) != 0x83)
  |  | 7770|       |                return 0;
  |  | 7771|       |    }
  |  | 7772|       |#elif (ACC_OS_DOS32 && ACC_CC_WATCOMC)
  |  | 7773|       |    {
  |  | 7774|       |        union REGS ri, ro;
  |  | 7775|       |        ri.w.ax = 0x4400; ri.w.bx = ACC_STATIC_CAST(unsigned short, fd);
  |  | 7776|       |        int386(0x21, &ri, &ro);
  |  | 7777|       |        if ((ro.w.cflag & 1) == 0)
  |  | 7778|       |            if ((ro.w.ax & 0x83) != 0x83)
  |  | 7779|       |                return 0;
  |  | 7780|       |    }
  |  | 7781|       |#elif (ACC_HAVE_WINDOWS_H)
  |  | 7782|       |    {
  |  | 7783|       |        acc_intptr_t h = __ACCLIB_FUNCNAME(acc_get_osfhandle)(fd);
  |  | 7784|       |        ACC_COMPILE_TIME_ASSERT(sizeof(h) == sizeof(HANDLE))
  |  | 7785|       |        if (h != -1)
  |  | 7786|       |        {
  |  | 7787|       |            DWORD d = 0;
  |  | 7788|       |            if (GetConsoleMode(ACC_REINTERPRET_CAST(HANDLE, h), &d) == 0)
  |  | 7789|       |                return 0;
  |  | 7790|       |        }
  |  | 7791|       |    }
  |  | 7792|       |#endif
  |  | 7793|       |#if (HAVE_ISATTY)
  |  | 7794|       |    return (isatty(fd)) ? 1 : 0;
  |  | 7795|       |#else
  |  | 7796|       |    return 0;
  |  | 7797|       |#endif
  |  | 7798|       |}
  |  | 7799|       |ACCLIB_PUBLIC(int, acc_mkdir) (const char* name, unsigned mode)
  |  | 7800|       |{
  |  | 7801|       |#if !(HAVE_MKDIR)
  |  | 7802|       |    ACC_UNUSED(name); ACC_UNUSED(mode);
  |  | 7803|       |    return -1;
  |  | 7804|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 7805|       |    ACC_UNUSED(mode);
  |  | 7806|       |    return Dcreate(name);
  |  | 7807|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 7808|       |    return mkdir(name, mode);
  |  | 7809|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 7810|       |    return mkdir(name, mode);
  |  | 7811|       |#elif ((ACC_OS_DOS16 || ACC_OS_DOS32) && (ACC_CC_HIGHC || ACC_CC_PACIFICC))
  |  | 7812|       |    ACC_UNUSED(mode);
  |  | 7813|       |    return mkdir(ACC_UNCONST_CAST(char *, name));
  |  | 7814|       |#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7815|       |    ACC_UNUSED(mode);
  |  | 7816|       |    return mkdir(name);
  |  | 7817|       |#elif (ACC_CC_WATCOMC)
  |  | 7818|       |    return mkdir(name, ACC_STATIC_CAST(mode_t, mode));
  |  | 7819|       |#else
  |  | 7820|       |    return mkdir(name, mode);
  |  | 7821|       |#endif
  |  | 7822|       |}
  |  | 7823|       |ACCLIB_PUBLIC(int, acc_rmdir) (const char* name)
  |  | 7824|       |{
  |  | 7825|       |#if !(HAVE_RMDIR)
  |  | 7826|       |    ACC_UNUSED(name);
  |  | 7827|       |    return -1;
  |  | 7828|       |#elif ((ACC_OS_DOS16 || ACC_OS_DOS32) && (ACC_CC_HIGHC || ACC_CC_PACIFICC))
  |  | 7829|       |    return rmdir(ACC_UNCONST_CAST(char *, name));
  |  | 7830|       |#else
  |  | 7831|       |    return rmdir(name);
  |  | 7832|       |#endif
  |  | 7833|       |}
  |  | 7834|       |#if defined(acc_int32e_t)
  |  | 7835|       |ACCLIB_PUBLIC(acc_int32e_t, acc_muldiv32s) (acc_int32e_t a, acc_int32e_t b, acc_int32e_t x)
  |  | 7836|       |{
  |  | 7837|       |    acc_int32e_t r = 0;
  |  | 7838|       |    if __acc_likely(x != 0)
  |  | 7839|       |    {
  |  | 7840|       |#if defined(acc_int64l_t)
  |  | 7841|       |        acc_int64l_t rr = (ACC_ICONV(acc_int64l_t, a) * b) / x;
  |  | 7842|       |        r = ACC_ITRUNC(acc_int32e_t, rr);
  |  | 7843|       |#else
  |  | 7844|       |        ACC_UNUSED(a); ACC_UNUSED(b);
  |  | 7845|       |#endif
  |  | 7846|       |    }
  |  | 7847|       |    return r;
  |  | 7848|       |}
  |  | 7849|       |ACCLIB_PUBLIC(acc_uint32e_t, acc_muldiv32u) (acc_uint32e_t a, acc_uint32e_t b, acc_uint32e_t x)
  |  | 7850|       |{
  |  | 7851|       |    acc_uint32e_t r = 0;
  |  | 7852|       |    if __acc_likely(x != 0)
  |  | 7853|       |    {
  |  | 7854|       |#if defined(acc_int64l_t)
  |  | 7855|       |        acc_uint64l_t rr = (ACC_ICONV(acc_uint64l_t, a) * b) / x;
  |  | 7856|       |        r = ACC_ITRUNC(acc_uint32e_t, rr);
  |  | 7857|       |#else
  |  | 7858|       |        ACC_UNUSED(a); ACC_UNUSED(b);
  |  | 7859|       |#endif
  |  | 7860|       |    }
  |  | 7861|       |    return r;
  |  | 7862|       |}
  |  | 7863|       |#endif
  |  | 7864|       |#if (ACC_OS_WIN16)
  |  | 7865|       |ACC_EXTERN_C void __far __pascal DebugBreak(void);
  |  | 7866|       |#endif
  |  | 7867|       |ACCLIB_PUBLIC_NOINLINE(void, acc_debug_break) (void)
  |  | 7868|       |{
  |  | 7869|       |#if (ACC_OS_WIN16)
  |  | 7870|       |    DebugBreak();
  |  | 7871|       |#elif (ACC_ARCH_I086)
  |  | 7872|       |#elif (ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H)
  |  | 7873|       |    DebugBreak();
  |  | 7874|       |#elif (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7875|       |    __asm__ __volatile__("int $3\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7876|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
  |  | 7877|       |    __asm { int 3 }
  |  | 7878|       |#elif (ACC_OS_WIN32) && (ACC_HAVE_WINDOWS_H)
  |  | 7879|       |    DebugBreak();
  |  | 7880|       |#else
  |  | 7881|       |    volatile acc_intptr_t a = -1;
  |  | 7882|       |    * ACC_STATIC_CAST(volatile unsigned long *, ACC_REINTERPRET_CAST(volatile void *, a)) = ~0ul;
  |  | 7883|       |#endif
  |  | 7884|       |}
  |  | 7885|       |ACCLIB_PUBLIC_NOINLINE(void, acc_debug_nop) (void)
  |  | 7886|       |{
  |  | 7887|       |}
  |  | 7888|       |ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_query) (void)
  |  | 7889|       |{
  |  | 7890|       |#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7891|       |# if (ACC_ARCH_AMD64)
  |  | 7892|       |    acc_uint64e_t r = 0;
  |  | 7893|       |# else
  |  | 7894|       |    size_t r = 0;
  |  | 7895|       |# endif
  |  | 7896|       |    __asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7897|       |    return ACC_ICONV(int, (r >> 18) & 1);
  |  | 7898|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
  |  | 7899|       |    unsigned long r;
  |  | 7900|       |    __asm {
  |  | 7901|       |        pushf
  |  | 7902|       |        pop eax
  |  | 7903|       |        mov r,eax
  |  | 7904|       |    }
  |  | 7905|       |    return ACC_ICONV(int, (r >> 18) & 1);
  |  | 7906|       |#else
  |  | 7907|       |    return -1;
  |  | 7908|       |#endif
  |  | 7909|       |}
  |  | 7910|       |ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_enable) (int v)
  |  | 7911|       |{
  |  | 7912|       |#if (ACC_ARCH_AMD64) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7913|       |    if (v) {
  |  | 7914|       |        __asm__ __volatile__("pushf\n orl $262144,(%%rsp)\n popf\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7915|       |    } else {
  |  | 7916|       |        __asm__ __volatile__("pushf\n andl $-262145,(%%rsp)\n popf\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7917|       |    }
  |  | 7918|       |    return 0;
  |  | 7919|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7920|       |    if (v) {
  |  | 7921|       |        __asm__ __volatile__("pushf\n orl $262144,(%%esp)\n popf\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7922|       |    } else {
  |  | 7923|       |        __asm__ __volatile__("pushf\n andl $-262145,(%%esp)\n popf\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7924|       |    }
  |  | 7925|       |    return 0;
  |  | 7926|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
  |  | 7927|       |    if (v) { __asm {
  |  | 7928|       |        pushf
  |  | 7929|       |        or dword ptr [esp],262144
  |  | 7930|       |        popf
  |  | 7931|       |    }} else { __asm {
  |  | 7932|       |        pushf
  |  | 7933|       |        and dword ptr [esp],-262145
  |  | 7934|       |        popf
  |  | 7935|       |    }}
  |  | 7936|       |    return 0;
  |  | 7937|       |#else
  |  | 7938|       |    ACC_UNUSED(v); return -1;
  |  | 7939|       |#endif
  |  | 7940|       |}
  |  | 7941|       |ACCLIB_PUBLIC_NOINLINE(unsigned, acc_debug_running_on_qemu) (void)
  |  | 7942|       |{
  |  | 7943|       |    unsigned r = 0;
  |  | 7944|       |#if (ACC_OS_POSIX_LINUX || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7945|       |    const char* p;
  |  | 7946|       |    p = __ACCLIB_FUNCNAME(acc_getenv)(ACC_PP_STRINGIZE(ACC_ENV_RUNNING_ON_QEMU));
  |  | 7947|       |    if (p) {
  |  | 7948|       |        if (p[0] == 0) r = 0;
  |  | 7949|       |        else if ((p[0] >= '0' && p[0] <= '9') && p[1] == 0) r = ACC_ICAST(unsigned, p[0]) - '0';
  |  | 7950|       |        else r = 1;
  |  | 7951|       |    }
  |  | 7952|       |#endif
  |  | 7953|       |    return r;
  |  | 7954|       |}
  |  | 7955|       |ACCLIB_PUBLIC_NOINLINE(unsigned, acc_debug_running_on_valgrind) (void)
  |  | 7956|       |{
  |  | 7957|       |#if (ACC_ARCH_AMD64 && ACC_ABI_ILP32)
  |  | 7958|       |    return 0;
  |  | 7959|       |#elif (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7960|       |    volatile size_t a[6];
  |  | 7961|       |    size_t r = 0;
  |  | 7962|       |    a[0] = 0x1001; a[1] = 0; a[2] = 0; a[3] = 0; a[4] = 0; a[5] = 0;
  |  | 7963|       |#  if (ACC_ARCH_AMD64)
  |  | 7964|       |    __asm__ __volatile__(".byte 0x48,0xc1,0xc7,0x03,0x48,0xc1,0xc7,0x0d,0x48,0xc1,0xc7,0x3d,0x48,0xc1,0xc7,0x33,0x48,0x87,0xdb\n" : "=d" (r) : "a" (&a[0]), "d" (r) __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7965|       |#  elif (ACC_ARCH_I386)
  |  | 7966|       |    __asm__ __volatile__(".byte 0xc1,0xc7,0x03,0xc1,0xc7,0x0d,0xc1,0xc7,0x1d,0xc1,0xc7,0x13,0x87,0xdb\n" : "=d" (r) : "a" (&a[0]), "d" (r) __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7967|       |#  endif
  |  | 7968|       |    return ACC_ITRUNC(unsigned, r);
  |  | 7969|       |#else
  |  | 7970|       |    return 0;
  |  | 7971|       |#endif
  |  | 7972|       |}
  |  | 7973|       |#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
  |  | 7974|       |#  pragma warn(pop)
  |  | 7975|       |#endif
  |  | 7976|       |#endif
  |  | 7977|       |#if defined(ACC_WANT_ACCLIB_WILDARGV)
  |  | 7978|       |#  undef ACC_WANT_ACCLIB_WILDARGV
  |  | 7979|       |#define __ACCLIB_WILDARGV_CH_INCLUDED 1
  |  | 7980|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7981|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 7982|       |#endif
  |  | 7983|       |#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  | 7984|       |#if 0 && (ACC_CC_MSC)
  |  | 7985|       |ACC_EXTERN_C int __acc_cdecl __setargv(void);
  |  | 7986|       |ACC_EXTERN_C int __acc_cdecl _setargv(void);
  |  | 7987|       |ACC_EXTERN_C int __acc_cdecl _setargv(void) { return __setargv(); }
  |  | 7988|       |#endif
  |  | 7989|       |#endif
  |  | 7990|       |#if (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7991|       |#if (ACC_CC_MSC && (_MSC_VER >= 1900))
  |  | 7992|       |#elif (ACC_CC_INTELC || ACC_CC_MSC)
  |  | 7993|       |ACC_EXTERN_C int __acc_cdecl __setargv(void);
  |  | 7994|       |ACC_EXTERN_C int __acc_cdecl _setargv(void);
  |  | 7995|       |ACC_EXTERN_C int __acc_cdecl _setargv(void) { return __setargv(); }
  |  | 7996|       |#endif
  |  | 7997|       |#endif
  |  | 7998|       |#if (ACC_OS_EMX)
  |  | 7999|       |#define __ACCLIB_HAVE_ACC_WILDARGV 1
  |  | 8000|       |ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
  |  | 8001|       |{
  |  | 8002|       |    if (argc && argv) {
  |  | 8003|       |        _response(argc, argv);
  |  | 8004|       |        _wildcard(argc, argv);
  |  | 8005|       |    }
  |  | 8006|       |}
  |  | 8007|       |#endif
  |  | 8008|       |#if (ACC_OS_CONSOLE_PSP) && defined(__PSPSDK_DEBUG__)
  |  | 8009|       |#define __ACCLIB_HAVE_ACC_WILDARGV 1
  |  | 8010|       |ACC_EXTERN_C int acc_psp_init_module(int*, char***, int);
  |  | 8011|       |ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
  |  | 8012|       |{
  |  | 8013|       |    acc_psp_init_module(argc, argv, -1);
  |  | 8014|       |}
  |  | 8015|       |#endif
  |  | 8016|       |#if !(__ACCLIB_HAVE_ACC_WILDARGV)
  |  | 8017|       |#define __ACCLIB_HAVE_ACC_WILDARGV 1
  |  | 8018|       |ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
  |  | 8019|       |{
  |  | 8020|       |#if 1 && (ACC_ARCH_I086PM)
  |  | 8021|       |    if (ACC_MM_AHSHIFT != 3) { exit(1); }
  |  | 8022|       |#elif 1 && (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
  |  | 8023|       |    __binmode(1);
  |  | 8024|       |    if (isatty(1)) __set_binmode(stdout, 0);
  |  | 8025|       |    if (isatty(2)) __set_binmode(stderr, 0);
  |  | 8026|       |#endif
  |  | 8027|       |    ACC_UNUSED(argc); ACC_UNUSED(argv);
  |  | 8028|       |}
  |  | 8029|       |#endif
  |  | 8030|       |#endif
  |  | 8031|       |
  |  | 8032|       |/* vim:set ts=4 sw=4 et: */
  ------------------
  911|  31.8k|#undef ACCCHK_ASSERT
  912|       |
  913|  31.8k|    static_assert(sizeof(char) == 1);
  914|  31.8k|    static_assert(sizeof(short) == 2);
  915|  31.8k|    static_assert(sizeof(int) == 4);
  916|  31.8k|    static_assert(sizeof(long) >= 4);
  917|  31.8k|    static_assert(sizeof(long long) >= 8);
  918|  31.8k|    static_assert(sizeof(void *) >= 4);
  919|  31.8k|    static_assert(sizeof(upx_off_t) >= 8);
  920|  31.8k|    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|  31.8k|    static_assert(sizeof(BE16) == 2);
  935|  31.8k|    static_assert(sizeof(BE32) == 4);
  936|  31.8k|    static_assert(sizeof(BE64) == 8);
  937|  31.8k|    static_assert(sizeof(LE16) == 2);
  938|  31.8k|    static_assert(sizeof(LE32) == 4);
  939|  31.8k|    static_assert(sizeof(LE64) == 8);
  940|       |
  941|  31.8k|    COMPILE_TIME_ASSERT_ALIGNED1(BE16)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  942|  31.8k|    COMPILE_TIME_ASSERT_ALIGNED1(BE32)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  943|  31.8k|    COMPILE_TIME_ASSERT_ALIGNED1(BE64)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  944|  31.8k|    COMPILE_TIME_ASSERT_ALIGNED1(LE16)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  945|  31.8k|    COMPILE_TIME_ASSERT_ALIGNED1(LE32)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  946|  31.8k|    COMPILE_TIME_ASSERT_ALIGNED1(LE64)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  947|       |
  948|       |    // check that these types are not some multi-word macro
  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  950|  31.8k|    CHECK_TYPE(int8_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  951|  31.8k|    CHECK_TYPE(uint8_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  952|  31.8k|    CHECK_TYPE(int16_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  953|  31.8k|    CHECK_TYPE(uint16_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  954|  31.8k|    CHECK_TYPE(int32_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  955|  31.8k|    CHECK_TYPE(uint32_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  956|  31.8k|    CHECK_TYPE(int64_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  957|  31.8k|    CHECK_TYPE(uint64_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  958|  31.8k|    CHECK_TYPE(intmax_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  959|  31.8k|    CHECK_TYPE(uintmax_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  960|  31.8k|    CHECK_TYPE(ptrdiff_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  961|  31.8k|    CHECK_TYPE(size_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  962|  31.8k|    CHECK_TYPE(intptr_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  963|  31.8k|    CHECK_TYPE(uintptr_t);
  ------------------
  |  |  949|  31.8k|#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|  31.8k|    CHECK_TYPE(upx_int8_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  977|  31.8k|    CHECK_TYPE(upx_uint8_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  978|  31.8k|    CHECK_TYPE(upx_int16_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  979|  31.8k|    CHECK_TYPE(upx_uint16_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  980|  31.8k|    CHECK_TYPE(upx_int32_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  981|  31.8k|    CHECK_TYPE(upx_uint32_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  982|  31.8k|    CHECK_TYPE(upx_int64_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  983|  31.8k|    CHECK_TYPE(upx_uint64_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  984|  31.8k|#if (__SIZEOF_INT128__ == 16)
  985|  31.8k|    CHECK_TYPE(upx_int128_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  986|  31.8k|    CHECK_TYPE(upx_uint128_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  987|  31.8k|#endif
  988|  31.8k|    CHECK_TYPE(upx_off_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  989|  31.8k|    CHECK_TYPE(upx_uptrdiff_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  990|  31.8k|    CHECK_TYPE(upx_ssize_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  991|  31.8k|    CHECK_TYPE(upx_ptraddr_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  992|  31.8k|    CHECK_TYPE(upx_uintptr_t);
  ------------------
  |  |  949|  31.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  993|  31.8k|#undef CHECK_TYPE
  994|       |
  995|  31.8k|    CheckIntegral<char>::check();
  996|  31.8k|    CheckIntegral<signed char>::check();
  997|  31.8k|    CheckIntegral<unsigned char>::check();
  998|  31.8k|    CheckIntegral<short>::check();
  999|  31.8k|    CheckIntegral<unsigned short>::check();
 1000|  31.8k|    CheckIntegral<int>::check();
 1001|  31.8k|    CheckIntegral<unsigned>::check();
 1002|  31.8k|    CheckIntegral<long>::check();
 1003|  31.8k|    CheckIntegral<unsigned long>::check();
 1004|  31.8k|    CheckIntegral<long long>::check();
 1005|  31.8k|    CheckIntegral<unsigned long long>::check();
 1006|  31.8k|    CheckIntegral<intmax_t>::check();
 1007|  31.8k|    CheckIntegral<uintmax_t>::check();
 1008|  31.8k|    CheckIntegral<upx_int8_t>::check();
 1009|  31.8k|    CheckIntegral<upx_uint8_t>::check();
 1010|  31.8k|    CheckIntegral<upx_int16_t>::check();
 1011|  31.8k|    CheckIntegral<upx_uint16_t>::check();
 1012|  31.8k|    CheckIntegral<upx_int32_t>::check();
 1013|  31.8k|    CheckIntegral<upx_uint32_t>::check();
 1014|  31.8k|    CheckIntegral<upx_int64_t>::check();
 1015|  31.8k|    CheckIntegral<upx_uint64_t>::check();
 1016|  31.8k|#if (__SIZEOF_INT128__ == 16)
 1017|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1018|       |#else
 1019|  31.8k|    CheckIntegral<upx_int128_t>::check();
 1020|  31.8k|    CheckIntegral<upx_uint128_t>::check();
 1021|  31.8k|#endif
 1022|  31.8k|#endif
 1023|  31.8k|    CheckIntegral<upx_off_t>::check();
 1024|  31.8k|    CheckIntegral<ptrdiff_t>::check();
 1025|  31.8k|    CheckIntegral<upx_uptrdiff_t>::check();
 1026|  31.8k|    CheckIntegral<upx_ssize_t>::check();
 1027|  31.8k|    CheckIntegral<size_t>::check();
 1028|  31.8k|    CheckIntegral<upx_ptraddr_t>::check();
 1029|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
 1030|       |    static_assert(sizeof(upx_ptraddr_t) == 8);
 1031|       |    static_assert(alignof(upx_ptraddr_t) == 8);
 1032|       |    static_assert(sizeof(void *) == 16);
 1033|       |    static_assert(alignof(void *) == 16);
 1034|       |    static_assert(sizeof(uintptr_t) == 16);
 1035|       |    static_assert(alignof(uintptr_t) == 16);
 1036|       |    // warning: binary expression on capability types 'unsigned __intcap' and 'unsigned __intcap'
 1037|       |    CheckIntegral<intptr_t>::check_core();
 1038|       |    CheckIntegral<uintptr_t>::check_core();
 1039|       |    CheckIntegral<upx_uintptr_t>::check_core();
 1040|       |#else
 1041|  31.8k|    CheckIntegral<intptr_t>::check();
 1042|  31.8k|    CheckIntegral<uintptr_t>::check();
 1043|  31.8k|    CheckIntegral<upx_uintptr_t>::check();
 1044|  31.8k|#endif
 1045|       |
 1046|  31.8k|    CheckSignedness<char, false>::check(); // -funsigned-char
 1047|  31.8k|    CheckSignedness<signed char, true>::check();
 1048|  31.8k|    CheckSignedness<unsigned char, false>::check();
 1049|  31.8k|    CheckSignedness<short, true>::check();
 1050|  31.8k|    CheckSignedness<unsigned short, false>::check();
 1051|  31.8k|    CheckSignedness<int, true>::check();
 1052|  31.8k|    CheckSignedness<unsigned, false>::check();
 1053|  31.8k|    CheckSignedness<long, true>::check();
 1054|  31.8k|    CheckSignedness<unsigned long, false>::check();
 1055|  31.8k|    CheckSignedness<long long, true>::check();
 1056|  31.8k|    CheckSignedness<unsigned long long, false>::check();
 1057|  31.8k|    CheckSignedness<intmax_t, true>::check();
 1058|  31.8k|    CheckSignedness<uintmax_t, false>::check();
 1059|  31.8k|    CheckSignedness<upx_int8_t, true>::check();
 1060|  31.8k|    CheckSignedness<upx_uint8_t, false>::check();
 1061|  31.8k|    CheckSignedness<upx_int16_t, true>::check();
 1062|  31.8k|    CheckSignedness<upx_uint16_t, false>::check();
 1063|  31.8k|    CheckSignedness<upx_int32_t, true>::check();
 1064|  31.8k|    CheckSignedness<upx_uint32_t, false>::check();
 1065|  31.8k|    CheckSignedness<upx_int64_t, true>::check();
 1066|  31.8k|    CheckSignedness<upx_uint64_t, false>::check();
 1067|  31.8k|#if (__SIZEOF_INT128__ == 16)
 1068|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1069|       |#else
 1070|  31.8k|    CheckSignedness<upx_int128_t, true>::check();
 1071|  31.8k|    CheckSignedness<upx_uint128_t, false>::check();
 1072|  31.8k|#endif
 1073|  31.8k|#endif
 1074|  31.8k|    CheckSignedness<upx_off_t, true>::check();
 1075|  31.8k|    CheckSignedness<ptrdiff_t, true>::check();
 1076|  31.8k|    CheckSignedness<upx_uptrdiff_t, false>::check();
 1077|  31.8k|    CheckSignedness<upx_ssize_t, true>::check();
 1078|  31.8k|    CheckSignedness<size_t, false>::check();
 1079|  31.8k|    CheckSignedness<upx_ptraddr_t, false>::check();
 1080|  31.8k|    CheckSignedness<intptr_t, true>::check();
 1081|  31.8k|    CheckSignedness<uintptr_t, false>::check();
 1082|  31.8k|    CheckSignedness<upx_uintptr_t, false>::check();
 1083|       |
 1084|  31.8k|#define CHECK_TYPE_PAIR(A, B)                                                                      \
 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
 1087|  31.8k|    CHECK_TYPE_PAIR(signed char, unsigned char);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1088|  31.8k|    CHECK_TYPE_PAIR(short, unsigned short);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1089|  31.8k|    CHECK_TYPE_PAIR(int, unsigned);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1090|  31.8k|    CHECK_TYPE_PAIR(long, unsigned long);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1091|  31.8k|    CHECK_TYPE_PAIR(long long, unsigned long long);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1092|  31.8k|    CHECK_TYPE_PAIR(intmax_t, uintmax_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1093|  31.8k|    CHECK_TYPE_PAIR(upx_int8_t, upx_uint8_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1094|  31.8k|    CHECK_TYPE_PAIR(upx_int16_t, upx_uint16_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1095|  31.8k|    CHECK_TYPE_PAIR(upx_int32_t, upx_uint32_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1096|  31.8k|    CHECK_TYPE_PAIR(upx_int64_t, upx_uint64_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1097|  31.8k|#if (__SIZEOF_INT128__ == 16)
 1098|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1099|       |#else
 1100|  31.8k|    CHECK_TYPE_PAIR(upx_int128_t, upx_uint128_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1101|  31.8k|#endif
 1102|  31.8k|#endif
 1103|  31.8k|    CHECK_TYPE_PAIR(ptrdiff_t, upx_uptrdiff_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1104|  31.8k|    CHECK_TYPE_PAIR(upx_ssize_t, size_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1105|  31.8k|    CHECK_TYPE_PAIR(upx_sptraddr_t, upx_ptraddr_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1106|  31.8k|    CHECK_TYPE_PAIR(intptr_t, uintptr_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1107|  31.8k|    CHECK_TYPE_PAIR(acc_intptr_t, acc_uintptr_t);
  ------------------
  |  | 1085|  31.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1086|  31.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1108|  31.8k|#undef CHECK_TYPE_PAIR
 1109|       |
 1110|  31.8k|    static_assert(sizeof(upx_charptr_unit_type) == 1);
 1111|  31.8k|    COMPILE_TIME_ASSERT_ALIGNED1(upx_charptr_unit_type)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1112|  31.8k|    static_assert(sizeof(*((charptr) nullptr)) == 1);
 1113|       |
 1114|       |    // check UPX_VERSION_xxx
 1115|  31.8k|    {
 1116|  31.8k|        using upx::compile_time::mem_eq;
 1117|  31.8k|        using upx::compile_time::string_len;
 1118|  31.8k|        static_assert(string_len(UPX_VERSION_STRING4) == 4);
 1119|  31.8k|        static_assert(string_len(UPX_VERSION_YEAR) == 4);
 1120|  31.8k|        static_assert(string_len(UPX_VERSION_DATE_ISO) == 10);
 1121|  31.8k|        static_assert(string_len(UPX_VERSION_DATE) == 12 || string_len(UPX_VERSION_DATE) == 13);
 1122|  31.8k|        static_assert(mem_eq(UPX_VERSION_STRING4, UPX_VERSION_STRING, 3));
 1123|  31.8k|        static_assert(mem_eq(UPX_VERSION_YEAR, UPX_VERSION_DATE_ISO, 4));
 1124|  31.8k|        static_assert(mem_eq(UPX_VERSION_YEAR, &UPX_VERSION_DATE[sizeof(UPX_VERSION_DATE) - 5], 4));
 1125|  31.8k|        char buf[64];
 1126|  31.8k|        constexpr long long v = UPX_VERSION_HEX;
  ------------------
  |  |    2|  31.8k|#define UPX_VERSION_HEX      0x050201 /* 05.02.01 */
  ------------------
 1127|  31.8k|        upx_safe_snprintf_noexcept(buf, sizeof(buf), "%lld.%lld.%lld", (v >> 16), (v >> 8) & 255,
 1128|  31.8k|                                   v & 255);
 1129|  31.8k|        assert_noexcept(strcmp(buf, UPX_VERSION_STRING) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1130|      0|        upx_safe_snprintf_noexcept(buf, sizeof(buf), "%lld.%lld%lld", (v >> 16), (v >> 8) & 255,
 1131|  31.8k|                                   v & 255);
 1132|  31.8k|        assert_noexcept(strcmp(buf, UPX_VERSION_STRING4) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1133|  31.8k|    }
 1134|       |
 1135|  31.8k|    if (gitrev[0]) {
  ------------------
  |  Branch (1135:9): [True: 31.8k, False: 0]
  ------------------
 1136|  31.8k|        size_t revlen = strlen(gitrev);
  ------------------
  |  |   70|  31.8k|#define strlen upx_safe_strlen
  ------------------
 1137|  31.8k|        if (strncmp(gitrev, "ERROR", 5) == 0) {
  ------------------
  |  Branch (1137:13): [True: 0, False: 31.8k]
  ------------------
 1138|      0|            assert_noexcept(revlen == 5 || revlen == 6);
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1139|  31.8k|        } else {
 1140|  31.8k|            assert_noexcept(revlen == 12 || revlen == 13);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1141|  31.8k|        }
 1142|  31.8k|        if (revlen == 6 || revlen == 13) {
  ------------------
  |  Branch (1142:13): [True: 0, False: 31.8k]
  |  Branch (1142:28): [True: 31.8k, False: 0]
  ------------------
 1143|  31.8k|            assert_noexcept(gitrev[revlen - 1] == '+');
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1144|  31.8k|        }
 1145|  31.8k|    }
 1146|  31.8k|    assert_noexcept(UPX_RSIZE_MAX_MEM == 805306368);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1147|       |
 1148|  31.8k|#if DEBUG || 1
 1149|  31.8k|    assert_noexcept(TestBELE<LE16>::test());
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1150|  31.8k|    assert_noexcept(TestBELE<LE32>::test());
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1151|  31.8k|    assert_noexcept(TestBELE<LE64>::test());
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1152|  31.8k|    assert_noexcept(TestBELE<BE16>::test());
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1153|  31.8k|    assert_noexcept(TestBELE<BE32>::test());
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1154|  31.8k|    assert_noexcept(TestBELE<BE64>::test());
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1155|      0|    {
 1156|  31.8k|        alignas(16) static const constexpr byte dd[32] = {
 1157|  31.8k|            0, 0, 0, 0,    0,    0,    0,    0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0,
 1158|  31.8k|            0, 0, 0, 0x7f, 0x7e, 0x7d, 0x7c, 0x7b, 0x7a, 0x79, 0x78, 0,    0,    0,    0,    0};
 1159|  31.8k|#if !defined(upx_fake_alignas_16)
 1160|  31.8k|        assert_noexcept2(ptr_is_aligned<16>(dd));
  ------------------
  |  |  500|  31.8k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1161|  31.8k|        assert_noexcept2(ptr_is_aligned(dd, 16));
  ------------------
  |  |  500|  31.8k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1162|  31.8k|        assert_noexcept2(ptr_align_down(dd + 1, 16) == (dd));
  ------------------
  |  |  500|  31.8k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1163|  31.8k|        assert_noexcept2(ptr_align_up(dd + 1, 16) == (dd + 16));
  ------------------
  |  |  500|  31.8k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1164|  31.8k|#endif
 1165|  31.8k|        const constexpr byte *d = dd + 7;
 1166|  31.8k|        static_assert(upx::compile_time::get_be16(d) == 0xfffe);
 1167|  31.8k|        static_assert(upx::compile_time::get_be24(d) == 0xfffefd);
 1168|  31.8k|        static_assert(upx::compile_time::get_be32(d) == 0xfffefdfc);
 1169|  31.8k|        static_assert(upx::compile_time::get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
 1170|  31.8k|        static_assert(upx::compile_time::get_le16(d) == 0xfeff);
 1171|  31.8k|        static_assert(upx::compile_time::get_le24(d) == 0xfdfeff);
 1172|  31.8k|        static_assert(upx::compile_time::get_le32(d) == 0xfcfdfeff);
 1173|  31.8k|        static_assert(upx::compile_time::get_le64(d) == 0xf8f9fafbfcfdfeffULL);
 1174|  31.8k|        assert_noexcept(upx_adler32(d, 4) == 0x09f003f7);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1175|  31.8k|        assert_noexcept(upx_adler32(d, 4, 0) == 0x09ec03f6);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1176|  31.8k|        assert_noexcept(upx_adler32(d, 4, 1) == 0x09f003f7);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1177|      0|        const N_BELE_RTP::AbstractPolicy *bele;
 1178|  31.8k|        bele = &N_BELE_RTP::be_policy;
 1179|  31.8k|        assert_noexcept(get_be16(d) == 0xfffe);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1180|  31.8k|        assert_noexcept(bele->get16(d) == 0xfffe);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1181|  31.8k|        assert_noexcept(get_be16_signed(d) == -2);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1182|  31.8k|        assert_noexcept(bele->get16_signed(d) == -2);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1183|  31.8k|        assert_noexcept(get_be24(d) == 0xfffefd);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1184|  31.8k|        assert_noexcept(bele->get24(d) == 0xfffefd);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1185|  31.8k|        assert_noexcept(get_be24_signed(d) == -259);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1186|  31.8k|        assert_noexcept(bele->get24_signed(d) == -259);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1187|  31.8k|        assert_noexcept(get_be32(d) == 0xfffefdfc);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1188|  31.8k|        assert_noexcept(bele->get32(d) == 0xfffefdfc);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1189|  31.8k|        assert_noexcept(get_be32_signed(d) == -66052);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1190|  31.8k|        assert_noexcept(bele->get32_signed(d) == -66052);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1191|  31.8k|        assert_noexcept(get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1192|  31.8k|        assert_noexcept(bele->get64(d) == 0xfffefdfcfbfaf9f8ULL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1193|  31.8k|        assert_noexcept(get_be64_signed(d) == -283686952306184LL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1194|  31.8k|        assert_noexcept(bele->get64_signed(d) == -283686952306184LL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1195|      0|        bele = &N_BELE_RTP::le_policy;
 1196|  31.8k|        assert_noexcept(get_le16(d) == 0xfeff);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1197|  31.8k|        assert_noexcept(bele->get16(d) == 0xfeff);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1198|  31.8k|        assert_noexcept(get_le16_signed(d) == -257);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1199|  31.8k|        assert_noexcept(bele->get16_signed(d) == -257);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1200|  31.8k|        assert_noexcept(get_le24(d) == 0xfdfeff);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1201|  31.8k|        assert_noexcept(bele->get24(d) == 0xfdfeff);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1202|  31.8k|        assert_noexcept(get_le24_signed(d) == -131329);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1203|  31.8k|        assert_noexcept(bele->get24_signed(d) == -131329);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1204|  31.8k|        assert_noexcept(get_le32(d) == 0xfcfdfeff);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1205|  31.8k|        assert_noexcept(bele->get32(d) == 0xfcfdfeff);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1206|  31.8k|        assert_noexcept(get_le32_signed(d) == -50462977);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1207|  31.8k|        assert_noexcept(bele->get32_signed(d) == -50462977);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1208|  31.8k|        assert_noexcept(get_le64(d) == 0xf8f9fafbfcfdfeffULL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1209|  31.8k|        assert_noexcept(bele->get64(d) == 0xf8f9fafbfcfdfeffULL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1210|  31.8k|        assert_noexcept(get_le64_signed(d) == -506097522914230529LL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1211|  31.8k|        assert_noexcept(bele->get64_signed(d) == -506097522914230529LL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1212|      0|        static_assert(get_be24(d) == 0xfffefd);
 1213|  31.8k|        static_assert(get_le24(d) == 0xfdfeff);
 1214|  31.8k|#if defined(upx_is_constant_evaluated)
 1215|  31.8k|        static_assert(get_be24_signed(d) == -259);
 1216|  31.8k|        static_assert(get_le24_signed(d) == -131329);
 1217|  31.8k|        static_assert(get_be16(d) == 0xfffe);
 1218|  31.8k|        static_assert(get_be16_signed(d) == -2);
 1219|  31.8k|        static_assert(get_be32(d) == 0xfffefdfc);
 1220|  31.8k|        static_assert(get_be32_signed(d) == -66052);
 1221|  31.8k|        static_assert(get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
 1222|  31.8k|        static_assert(get_be64_signed(d) == -283686952306184LL);
 1223|  31.8k|        static_assert(get_le16(d) == 0xfeff);
 1224|  31.8k|        static_assert(get_le16_signed(d) == -257);
 1225|  31.8k|        static_assert(get_le32(d) == 0xfcfdfeff);
 1226|  31.8k|        static_assert(get_le32_signed(d) == -50462977);
 1227|  31.8k|        static_assert(get_le64(d) == 0xf8f9fafbfcfdfeffULL);
 1228|  31.8k|        static_assert(get_le64_signed(d) == -506097522914230529LL);
 1229|  31.8k|#endif
 1230|  31.8k|        assert_noexcept(find_be16(d, 2, 0xfffe) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1231|  31.8k|        assert_noexcept(find_le16(d, 2, 0xfeff) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1232|  31.8k|        assert_noexcept(find_be32(d, 4, 0xfffefdfc) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1233|  31.8k|        assert_noexcept(find_le32(d, 4, 0xfcfdfeff) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1234|      0|        const constexpr byte *e = d + 12;
 1235|  31.8k|        assert_noexcept(get_be16_signed(e) == 32638);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1236|  31.8k|        assert_noexcept(get_be24_signed(e) == 8355453);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1237|  31.8k|        assert_noexcept(get_be32_signed(e) == 2138996092);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1238|  31.8k|        assert_noexcept(get_be64_signed(e) == 9186918263483431288LL);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1239|      0|#if defined(upx_is_constant_evaluated)
 1240|      0|        static_assert(get_be16_signed(e) == 32638);
 1241|  31.8k|        static_assert(get_be24_signed(e) == 8355453);
 1242|  31.8k|        static_assert(get_be32_signed(e) == 2138996092);
 1243|  31.8k|        static_assert(get_be64_signed(e) == 9186918263483431288LL);
 1244|  31.8k|#endif
 1245|  31.8k|    }
 1246|      0|#if defined(upx_is_constant_evaluated)
 1247|      0|    {
 1248|  31.8k|        constexpr upx_uint16_t v16 = 0x0201;
 1249|  31.8k|        constexpr upx_uint32_t v32 = 0x04030201;
 1250|  31.8k|        constexpr upx_uint64_t v64 = 0x0807060504030201ull;
 1251|  31.8k|        constexpr BE16 be16 = BE16::make(v16);
 1252|  31.8k|        constexpr BE32 be32 = BE32::make(v32);
 1253|  31.8k|        constexpr BE64 be64 = BE64::make(v64);
 1254|  31.8k|        constexpr LE16 le16 = LE16::make(v16);
 1255|  31.8k|        constexpr LE32 le32 = LE32::make(v32);
 1256|  31.8k|        constexpr LE64 le64 = LE64::make(v64);
 1257|  31.8k|        using upx::compile_time::mem_eq;
 1258|  31.8k|        static_assert(mem_eq(be16.d, "\x02\x01", 2));
 1259|  31.8k|        static_assert(mem_eq(be32.d, "\x04\x03\x02\x01", 4));
 1260|  31.8k|        static_assert(mem_eq(be64.d, "\x08\x07\x06\x05\x04\x03\x02\x01", 8));
 1261|  31.8k|        static_assert(mem_eq(le16.d, "\x01\x02", 2));
 1262|  31.8k|        static_assert(mem_eq(le32.d, "\x01\x02\x03\x04", 4));
 1263|  31.8k|        static_assert(mem_eq(le64.d, "\x01\x02\x03\x04\x05\x06\x07\x08", 8));
 1264|  31.8k|        constexpr NE16 ne16 = NE16::make(v16);
 1265|  31.8k|        constexpr NE32 ne32 = NE32::make(v32);
 1266|  31.8k|        constexpr NE64 ne64 = NE64::make(v64);
 1267|  31.8k|        assert_noexcept(memcmp(&v16, ne16.d, 2) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1268|  31.8k|        assert_noexcept(memcmp(&v32, ne32.d, 4) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1269|  31.8k|        assert_noexcept(memcmp(&v64, ne64.d, 8) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1270|  31.8k|    }
 1271|      0|#endif
 1272|       |#if DEBUG >= 1
 1273|       |    {
 1274|       |        for (int i = -256; i < 256; i++) {
 1275|       |            {
 1276|       |                const unsigned u = i;
 1277|       |                assert_noexcept(sign_extend32(u, 1) == ((i & 1) ? -1 : 0));
 1278|       |                assert_noexcept(sign_extend32(u, 2) == ((i & 2) ? -2 + (i & 1) : (i & 1)));
 1279|       |                assert_noexcept(sign_extend32(u, 3) == ((i & 4) ? -4 + (i & 3) : (i & 3)));
 1280|       |                assert_noexcept(sign_extend32(u, 4) == ((i & 8) ? -8 + (i & 7) : (i & 7)));
 1281|       |                assert_noexcept(sign_extend32(u, 5) == ((i & 16) ? -16 + (i & 15) : (i & 15)));
 1282|       |                assert_noexcept(sign_extend32(u, 6) == ((i & 32) ? -32 + (i & 31) : (i & 31)));
 1283|       |                assert_noexcept(sign_extend32(u, 7) == ((i & 64) ? -64 + (i & 63) : (i & 63)));
 1284|       |                assert_noexcept(sign_extend32(u, 8) == ((i & 128) ? -128 + (i & 127) : (i & 127)));
 1285|       |                assert_noexcept(sign_extend32(u, 9) == i);
 1286|       |                assert_noexcept(sign_extend32(u, 32) == i);
 1287|       |                assert_noexcept(sign_extend32(0u - u, 32) == -i);
 1288|       |            }
 1289|       |            {
 1290|       |                const upx_uint64_t u = i;
 1291|       |                assert_noexcept(sign_extend64(u, 1) == ((i & 1) ? -1 : 0));
 1292|       |                assert_noexcept(sign_extend64(u, 2) == ((i & 2) ? -2 + (i & 1) : (i & 1)));
 1293|       |                assert_noexcept(sign_extend64(u, 3) == ((i & 4) ? -4 + (i & 3) : (i & 3)));
 1294|       |                assert_noexcept(sign_extend64(u, 4) == ((i & 8) ? -8 + (i & 7) : (i & 7)));
 1295|       |                assert_noexcept(sign_extend64(u, 5) == ((i & 16) ? -16 + (i & 15) : (i & 15)));
 1296|       |                assert_noexcept(sign_extend64(u, 6) == ((i & 32) ? -32 + (i & 31) : (i & 31)));
 1297|       |                assert_noexcept(sign_extend64(u, 7) == ((i & 64) ? -64 + (i & 63) : (i & 63)));
 1298|       |                assert_noexcept(sign_extend64(u, 8) == ((i & 128) ? -128 + (i & 127) : (i & 127)));
 1299|       |                assert_noexcept(sign_extend64(u, 9) == i);
 1300|       |                assert_noexcept(sign_extend64(u, 32) == i);
 1301|       |                assert_noexcept(sign_extend64(upx_uint64_t(0) - u, 32) == -i);
 1302|       |                assert_noexcept(sign_extend64(u, 64) == i);
 1303|       |                assert_noexcept(sign_extend64(upx_uint64_t(0) - u, 64) == -i);
 1304|       |            }
 1305|       |        }
 1306|       |    }
 1307|       |#endif
 1308|      0|    {
 1309|  31.8k|        unsigned dd;
 1310|  31.8k|        void *const d = &dd;
 1311|  31.8k|        dd = ne32_to_le32(0xf7f6f5f4);
  ------------------
  |  |  293|  31.8k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
 1312|  31.8k|        assert_noexcept(get_le26(d) == 0x03f6f5f4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1313|      0|        set_le26(d, 0);
 1314|  31.8k|        assert_noexcept(get_le26(d) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1315|  31.8k|        assert_noexcept(dd == ne32_to_le32(0xf4000000));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1316|      0|        set_le26(d, 0xff020304);
 1317|  31.8k|        assert_noexcept(get_le26(d) == 0x03020304);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1318|  31.8k|        assert_noexcept(dd == ne32_to_le32(0xf7020304));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1319|  31.8k|    }
 1320|      0|    {
 1321|  31.8k|        upx_uint16_t a = 0;
 1322|  31.8k|        upx_uint32_t b = 0;
 1323|  31.8k|        upx_uint64_t c = 0;
 1324|  31.8k|        set_ne16(&a, 0x04030201); // ignore upper bits
 1325|  31.8k|        set_ne32(&b, 0x04030201);
 1326|  31.8k|        set_ne64(&c, 0x0807060504030201ull);
 1327|  31.8k|        assert_noexcept(a == 0x0201);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1328|  31.8k|        assert_noexcept(b == 0x04030201);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1329|  31.8k|        assert_noexcept(c == 0x0807060504030201ull);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1330|  31.8k|        assert_noexcept(get_ne16(&a) == 0x0201);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1331|  31.8k|        assert_noexcept(get_ne32(&b) == 0x04030201);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1332|  31.8k|        assert_noexcept(get_ne64(&c) == 0x0807060504030201ull);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1333|  31.8k|    }
 1334|      0|#endif // DEBUG
 1335|      0|    union {
 1336|  31.8k|        short v_short;
 1337|  31.8k|        int v_int;
 1338|  31.8k|        long v_long;
 1339|  31.8k|        long long v_llong;
 1340|  31.8k|        BE16 b16;
 1341|  31.8k|        BE32 b32;
 1342|  31.8k|        BE64 b64;
 1343|  31.8k|        LE16 l16;
 1344|  31.8k|        LE32 l32;
 1345|  31.8k|        LE64 l64;
 1346|  31.8k|    } u;
 1347|  31.8k|    assert_noexcept(testNoAliasing(&u.v_short, &u.b32));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1348|  31.8k|    assert_noexcept(testNoAliasing(&u.v_short, &u.l32));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1349|  31.8k|    assert_noexcept(testNoAliasing(&u.v_int, &u.b64));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1350|  31.8k|    assert_noexcept(testNoAliasing(&u.v_int, &u.l64));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1351|       |    // check working -fno-strict-aliasing
 1352|  31.8k|    assert_noexcept(testNoAliasing(&u.v_short, &u.v_int));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1353|  31.8k|    assert_noexcept(testNoAliasing(&u.v_int, &u.v_long));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1354|  31.8k|    assert_noexcept(testNoAliasing(&u.v_int, &u.v_llong));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1355|  31.8k|    assert_noexcept(testNoAliasing(&u.v_long, &u.v_llong));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1356|       |
 1357|       |#if 1 && (ACC_CC_MSC) && (defined(_M_ARM64) || defined(_M_ARM64EC))
 1358|       |    // @COMPILER_BUG @MSVC_BUG
 1359|       |#else
 1360|  31.8k|    assert_noexcept(TestIntegerWrap<unsigned>::inc_gt(0));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1361|  31.8k|    assert_noexcept(!TestIntegerWrap<unsigned>::inc_gt(UINT_MAX));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1362|  31.8k|    assert_noexcept(TestIntegerWrap<unsigned>::dec_lt(1));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1363|  31.8k|    assert_noexcept(!TestIntegerWrap<unsigned>::dec_lt(0));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1364|  31.8k|    assert_noexcept(TestIntegerWrap<unsigned>::neg_eq(0));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1365|  31.8k|    assert_noexcept(!TestIntegerWrap<unsigned>::neg_eq(1));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1366|  31.8k|    assert_noexcept(!TestIntegerWrap<unsigned>::neg_eq(UINT_MAX));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1367|       |    // check working -fno-strict-overflow
 1368|  31.8k|    assert_noexcept(TestIntegerWrap<int>::inc_gt(0));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1369|  31.8k|    assert_noexcept(!TestIntegerWrap<int>::inc_gt(INT_MAX));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1370|  31.8k|    assert_noexcept(TestIntegerWrap<int>::dec_lt(0));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1371|  31.8k|    assert_noexcept(!TestIntegerWrap<int>::dec_lt(INT_MIN));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1372|  31.8k|    assert_noexcept(TestIntegerWrap<int>::neg_eq(0));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1373|  31.8k|    assert_noexcept(!TestIntegerWrap<int>::neg_eq(1));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1374|  31.8k|    assert_noexcept(!TestIntegerWrap<int>::neg_eq(INT_MAX));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1375|  31.8k|    assert_noexcept(TestIntegerWrap<int>::neg_eq(INT_MIN)); // special case
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1376|  31.8k|#endif
 1377|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_126check_basic_floating_pointEv:
  858|  31.8k|static noinline void check_basic_floating_point() noexcept {
  859|  31.8k|    assert_noexcept(i64_f32_add_div(1000000, 1000000) == 2.0f);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  860|  31.8k|    assert_noexcept(u64_f32_add_div(1000000, 1000000) == 2.0f);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  861|  31.8k|    assert_noexcept(i64_f32_sub_div(3000000, 1000000) == 2.0f);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  862|  31.8k|    assert_noexcept(u64_f32_sub_div(3000000, 1000000) == 2.0f);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  863|  31.8k|    assert_noexcept(i64_f64_add_div(1000000, 1000000) == 2.0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  864|  31.8k|    assert_noexcept(u64_f64_add_div(1000000, 1000000) == 2.0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  865|  31.8k|    assert_noexcept(i64_f64_sub_div(3000000, 1000000) == 2.0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  866|  31.8k|    assert_noexcept(u64_f64_sub_div(3000000, 1000000) == 2.0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  867|      0|    TestFloat<upx_int32_t, float>::test();
  868|  31.8k|    TestFloat<upx_uint32_t, float>::test();
  869|  31.8k|    TestFloat<upx_int64_t, float>::test();
  870|  31.8k|    TestFloat<upx_uint64_t, float>::test();
  871|  31.8k|    TestFloat<upx_int32_t, double>::test();
  872|  31.8k|    TestFloat<upx_uint32_t, double>::test();
  873|  31.8k|    TestFloat<upx_int64_t, double>::test();
  874|  31.8k|    TestFloat<upx_uint64_t, double>::test();
  875|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f32_add_divExx:
  803|  31.8k|static noinline float i64_f32_add_div(upx_int64_t a, upx_int64_t b) noexcept {
  804|  31.8k|    return (a + b) / 1000000.0f;
  805|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f32_add_divEyy:
  806|  31.8k|static noinline float u64_f32_add_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  807|  31.8k|    return (a + b) / 1000000.0f;
  808|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f32_sub_divExx:
  809|  31.8k|static noinline float i64_f32_sub_div(upx_int64_t a, upx_int64_t b) noexcept {
  810|  31.8k|    return (a - b) / 1000000.0f;
  811|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f32_sub_divEyy:
  812|  31.8k|static noinline float u64_f32_sub_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  813|  31.8k|    return (a - b) / 1000000.0f;
  814|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f64_add_divExx:
  816|  31.8k|static noinline double i64_f64_add_div(upx_int64_t a, upx_int64_t b) noexcept {
  817|  31.8k|    return (a + b) / 1000000.0;
  818|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f64_add_divEyy:
  819|  31.8k|static noinline double u64_f64_add_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  820|  31.8k|    return (a + b) / 1000000.0;
  821|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f64_sub_divExx:
  822|  31.8k|static noinline double i64_f64_sub_div(upx_int64_t a, upx_int64_t b) noexcept {
  823|  31.8k|    return (a - b) / 1000000.0;
  824|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f64_sub_divEyy:
  825|  31.8k|static noinline double u64_f64_sub_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  826|  31.8k|    return (a - b) / 1000000.0;
  827|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE4testEv:
  837|  31.8k|    static noinline void test() noexcept {
  838|  31.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  31.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  31.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  31.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  31.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|  31.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 31.8k]
  ------------------
  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))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE3divEif:
  832|  31.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE7add_divEiif:
  833|  31.8k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE9add_div_xEii:
  835|  31.8k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE7sub_divEiif:
  834|  31.8k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE9sub_div_xEii:
  836|  31.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE4testEv:
  837|  31.8k|    static noinline void test() noexcept {
  838|  31.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  31.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  31.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  31.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  31.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|  31.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 31.8k]
  ------------------
  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))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE3divEjf:
  832|  31.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE7add_divEjjf:
  833|  31.8k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE9add_div_xEjj:
  835|  31.8k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE7sub_divEjjf:
  834|  31.8k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE9sub_div_xEjj:
  836|  31.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE4testEv:
  837|  31.8k|    static noinline void test() noexcept {
  838|  31.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  31.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  31.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  31.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  31.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|  31.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 31.8k]
  ------------------
  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))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE3divExf:
  832|  31.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE7add_divExxf:
  833|  31.8k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE9add_div_xExx:
  835|  31.8k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE7sub_divExxf:
  834|  31.8k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE9sub_div_xExx:
  836|  31.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE4testEv:
  837|  31.8k|    static noinline void test() noexcept {
  838|  31.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  31.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  31.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  31.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  31.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|  31.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 31.8k]
  ------------------
  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))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE3divEyf:
  832|  31.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE7add_divEyyf:
  833|  31.8k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE9add_div_xEyy:
  835|  31.8k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE7sub_divEyyf:
  834|  31.8k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE9sub_div_xEyy:
  836|  31.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE4testEv:
  837|  31.8k|    static noinline void test() noexcept {
  838|  31.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  31.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  31.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  31.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  31.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|  31.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 31.8k]
  ------------------
  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))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE3divEid:
  832|  31.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE7add_divEiid:
  833|  31.8k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE9add_div_xEii:
  835|  31.8k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE7sub_divEiid:
  834|  31.8k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE9sub_div_xEii:
  836|  31.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE4testEv:
  837|  31.8k|    static noinline void test() noexcept {
  838|  31.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  31.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  31.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  31.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  31.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|  31.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 31.8k]
  ------------------
  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))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE3divEjd:
  832|  31.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE7add_divEjjd:
  833|  31.8k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE9add_div_xEjj:
  835|  31.8k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE7sub_divEjjd:
  834|  31.8k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE9sub_div_xEjj:
  836|  31.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE4testEv:
  837|  31.8k|    static noinline void test() noexcept {
  838|  31.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  31.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  31.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  31.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  31.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|  31.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 31.8k]
  ------------------
  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))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE3divExd:
  832|  31.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE7add_divExxd:
  833|  31.8k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE9add_div_xExx:
  835|  31.8k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE7sub_divExxd:
  834|  31.8k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE9sub_div_xExx:
  836|  31.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE4testEv:
  837|  31.8k|    static noinline void test() noexcept {
  838|  31.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  31.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  31.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  31.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  31.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|  31.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 31.8k]
  ------------------
  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))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE3divEyd:
  832|  31.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE7add_divEyyd:
  833|  31.8k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE9add_div_xEyy:
  835|  31.8k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE7sub_divEyyd:
  834|  31.8k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE9sub_div_xEyy:
  836|  31.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_134check_basic_cxx_exception_handlingEPFviE:
  785|  31.8k|static noinline void check_basic_cxx_exception_handling(void (*func)(int)) noexcept {
  786|  31.8k|    bool cxx_exception_handling_works = false;
  787|  31.8k|    int x = 1;
  788|  31.8k|    try {
  789|  31.8k|        TestDestructor d(&x, 3);
  790|  31.8k|        check_exceptions_2(func, &x);
  791|  31.8k|    } catch (const size_t &e) {
  792|  31.8k|        if (e == 1 && x == 23)
  ------------------
  |  Branch (792:13): [True: 31.8k, False: 0]
  |  Branch (792:23): [True: 31.8k, False: 0]
  ------------------
  793|  31.8k|            cxx_exception_handling_works = true;
  794|  31.8k|    } catch (...) {
  795|      0|    }
  796|  31.8k|    assert_noexcept(cxx_exception_handling_works);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  797|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_114TestDestructorC2EPii:
  767|  63.7k|    explicit TestDestructor(int *pp, int vv) noexcept : p(pp), v(vv) {}
dt_check.cpp:_ZN12_GLOBAL__N_118check_exceptions_2EPFviEPi:
  780|  31.8k|static noinline void check_exceptions_2(void (*func)(int), int *x) may_throw {
  781|  31.8k|    TestDestructor d(x, *x);
  782|  31.8k|    func(*x);
  783|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_114TestDestructorD2Ev:
  768|  63.7k|    virtual noinline ~TestDestructor() noexcept { *p = (*p << 2) + v; }
dt_check.cpp:_ZN12_GLOBAL__N_114throwSomeValueEi:
  773|  31.8k|static noinline void throwSomeValue(int x) may_throw {
  774|  31.8k|    if (x < 0)
  ------------------
  |  Branch (774:9): [True: 0, False: 31.8k]
  ------------------
  775|      0|        throw int(x);
  776|  31.8k|    else
  777|  31.8k|        throw size_t(x);
  778|  31.8k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
 1383|  15.9k|TEST_CASE("upx_is_constant_evaluated") {
 1384|  15.9k|#if defined(upx_is_constant_evaluated)
 1385|  15.9k|    CHECK(true);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1386|  15.9k|#endif
 1387|  15.9k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
 1389|  15.9k|TEST_CASE("assert_noexcept") {
 1390|       |    // just to make sure that our own assert() macros do not trigger any compiler warnings
 1391|  15.9k|    byte dummy = 0;
 1392|  15.9k|    byte *ptr1 = &dummy;
 1393|  15.9k|    const byte *const ptr2 = &dummy;
 1394|  15.9k|    void *ptr3 = nullptr;
 1395|  15.9k|    assert(true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1396|  15.9k|    assert(1);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1397|  15.9k|    assert(ptr1);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1398|  15.9k|    assert(ptr2);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1399|  15.9k|    assert(!ptr3);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1400|  15.9k|    assert_noexcept(true);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1401|  15.9k|    assert_noexcept(1);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1402|  15.9k|    assert_noexcept(ptr1);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1403|  15.9k|    assert_noexcept(ptr2);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1404|  15.9k|    assert_noexcept(!ptr3);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1405|  15.9k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
 1407|  15.9k|TEST_CASE("acc_vget") {
 1408|  15.9k|    CHECK_EQ(acc_vget_int(0, 0), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1409|  15.9k|    CHECK_EQ(acc_vget_long(1, -1), 1);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1410|  15.9k|    CHECK_EQ(acc_vget_acc_int64l_t(2, 1), 2);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1411|  15.9k|    CHECK_EQ(acc_vget_acc_hvoid_p(nullptr, 0), nullptr);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1412|  15.9k|    if (acc_vget_int(1, 0) > 0)
  ------------------
  |  Branch (1412:9): [True: 15.9k, False: 0]
  ------------------
 1413|  15.9k|        return;
 1414|      0|    assert_noexcept(false);
  ------------------
  |  |  499|      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 (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1415|      0|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
 1417|  15.9k|TEST_CASE("ptr_invalidate_and_poison") {
 1418|  15.9k|    int *ip = nullptr; // initialized
 1419|  15.9k|    ptr_invalidate_and_poison(ip);
 1420|  15.9k|    assert(ip != nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1421|      0|    (void) ip;
 1422|  15.9k|    double *dp; // not initialized
 1423|  15.9k|    ptr_invalidate_and_poison(dp);
 1424|  15.9k|    assert(dp != nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1425|      0|    (void) dp;
 1426|  15.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
 1428|  15.9k|TEST_CASE("upx_getenv") {
 1429|  15.9k|    CHECK_EQ(upx_getenv(nullptr), nullptr);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1430|  15.9k|    CHECK_EQ(upx_getenv(""), nullptr);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1431|  15.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
 1433|  15.9k|TEST_CASE("working -fno-strict-aliasing") {
 1434|  15.9k|    bool ok;
 1435|  15.9k|    long v = 0;
 1436|  15.9k|    short *ps = ACC_STATIC_CAST(short *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  15.9k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1437|  15.9k|    int *pi = ACC_STATIC_CAST(int *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  15.9k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1438|  15.9k|    long *pl = ACC_STATIC_CAST(long *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  15.9k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1439|  15.9k|    *ps = 0;
 1440|  15.9k|    *pl = -1;
 1441|  15.9k|    ok = *ps == -1;
 1442|  15.9k|    CHECK(ok);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1443|  15.9k|    *pi = 0;
 1444|  15.9k|    *pl = -1;
 1445|  15.9k|    ok = *pi == -1;
 1446|  15.9k|    CHECK(ok);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1447|  15.9k|    *pl = 0;
 1448|  15.9k|    *ps = -1;
 1449|  15.9k|    ok = *pl != 0;
 1450|  15.9k|    CHECK(ok);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1451|  15.9k|    *pl = 0;
 1452|  15.9k|    *pi = -1;
 1453|  15.9k|    ok = *pl != 0;
 1454|  15.9k|    CHECK(ok);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1455|  15.9k|    UNUSED(ok);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1456|  15.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_14v:
 1458|  15.9k|TEST_CASE("working -fno-strict-overflow") {
 1459|  15.9k|    CHECK_EQ(acc_vget_int(INT_MAX, 0) + 1, INT_MIN);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1460|  15.9k|    CHECK_EQ(acc_vget_int(INT_MIN, 0) - 1, INT_MAX);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1461|  15.9k|    CHECK_EQ(acc_vget_long(LONG_MAX, 0) + 1, LONG_MIN);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1462|  15.9k|    CHECK_EQ(acc_vget_long(LONG_MIN, 0) - 1, LONG_MAX);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1463|  15.9k|    bool ok;
 1464|  15.9k|    int i;
 1465|  15.9k|    i = INT_MAX;
 1466|  15.9k|    i += 1;
 1467|  15.9k|    ok = i == INT_MIN;
 1468|  15.9k|    CHECK(ok);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1469|  15.9k|    i = INT_MIN;
 1470|  15.9k|    i -= 1;
 1471|  15.9k|    ok = i == INT_MAX;
 1472|  15.9k|    CHECK(ok);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1473|  15.9k|    UNUSED(ok);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1474|  15.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_16v:
 1476|  15.9k|TEST_CASE("libc snprintf") {
 1477|       |    // runtime check that Windows/MinGW <stdio.h> works as expected
 1478|  15.9k|    char buf[64];
 1479|  15.9k|    long long ll = acc_vget_int(-1, 0);
 1480|  15.9k|    unsigned long long llu = (upx_uint64_t) (upx_int64_t) ll;
 1481|  15.9k|    snprintf(buf, sizeof(buf), "%d.%ld.%lld.%u.%lu.%llu", -3, -2L, ll, 3U, 2LU, llu);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1482|  15.9k|    CHECK_EQ(strcmp(buf, "-3.-2.-1.3.2.18446744073709551615"), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1483|  15.9k|    intmax_t im = ll;
 1484|  15.9k|    uintmax_t um = llu;
 1485|  15.9k|    snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%jd", -4, 0, 0, 0, 0, 0, 0, 0, 4, im);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1486|  15.9k|    CHECK_EQ(strcmp(buf, "-4.0.0.0.0.0.0.0.4.-1"), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1487|  15.9k|    snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%ju", -5, 0, 0, 0, 0, 0, 0, 0, 5, um);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1488|  15.9k|    CHECK_EQ(strcmp(buf, "-5.0.0.0.0.0.0.0.5.18446744073709551615"), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1489|  15.9k|    snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%jx", -6, 0, 0, 0, 0, 0, 0, 0, 6, um);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1490|  15.9k|    CHECK_EQ(strcmp(buf, "-6.0.0.0.0.0.0.0.6.ffffffffffffffff"), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1491|  15.9k|    snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%#jx", -7, 0, 0, 0, 0, 0, 0, 0, 7, um);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1492|  15.9k|    CHECK_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1493|  15.9k|    snprintf(buf, sizeof(buf), "%#X %#lx %#llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1494|  15.9k|    CHECK_EQ(strcmp(buf, "0X1A 0x1b 0x1c"), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1495|  15.9k|    snprintf(buf, sizeof(buf), "%#06x %#06lX %#06llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1496|  15.9k|    CHECK_EQ(strcmp(buf, "0x001a 0X001B 0x001c"), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1497|  15.9k|    snprintf(buf, sizeof(buf), "%#6x %#6lx %#6llX", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1498|  15.9k|    CHECK_EQ(strcmp(buf, "  0x1a   0x1b   0X1C"), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1499|  15.9k|    snprintf(buf, sizeof(buf), "%#-6X %#-6lx %#-6llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  15.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1500|  15.9k|    CHECK_EQ(strcmp(buf, "0X1A   0x1b   0x1c  "), 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1501|  15.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_18v:
 1503|  15.9k|TEST_CASE("libc qsort") {
 1504|       |    // runtime check that libc qsort() never compares identical objects
 1505|       |    // UPDATE: while only poor implementations of qsort() would actually do this
 1506|       |    //   it is probably allowed by the standard, so skip this test by default
 1507|  15.9k|    if (!is_envvar_true("UPX_DEBUG_TEST_LIBC_QSORT"))
  ------------------
  |  Branch (1507:9): [True: 15.9k, False: 0]
  ------------------
 1508|  15.9k|        return;
 1509|       |
 1510|      0|    struct Elem final {
 1511|      0|        upx_uint16_t id;
 1512|      0|        upx_uint16_t value;
 1513|      0|        static int __acc_cdecl_qsort compare(const void *aa, const void *bb) noexcept {
 1514|      0|            const Elem *a = (const Elem *) aa;
 1515|      0|            const Elem *b = (const Elem *) bb;
 1516|      0|            assert_noexcept(a->id != b->id); // check not IDENTICAL
 1517|      0|            return a->value == b->value ? 0 : (a->value < b->value ? -1 : 1);
 1518|      0|        }
 1519|      0|        static noinline bool check_sort(upx_sort_func_t sort, Elem *e, size_t n, bool is_stable) {
 1520|      0|            upx_uint32_t x = 5381 + (upx_rand() & 255);
 1521|      0|            for (size_t i = 0; i < n; i++) {
 1522|      0|                e[i].id = (upx_uint16_t) i;
 1523|      0|                x = x * 33 + 1 + (i & 255);
 1524|      0|                e[i].value = (upx_uint16_t) ((x >> 4) & 15);
 1525|      0|            }
 1526|      0|            sort(e, n, sizeof(Elem), Elem::compare);
 1527|       |            // verify
 1528|      0|            for (size_t i = 1; i < n; i++) {
 1529|      0|                if very_unlikely (e[i - 1].value > e[i].value)
 1530|      0|                    return false;
 1531|      0|                if (is_stable)
 1532|      0|                    if very_unlikely (e[i - 1].value == e[i].value && e[i - 1].id >= e[i].id)
 1533|      0|                        return false;
 1534|      0|            }
 1535|      0|            return true;
 1536|      0|        }
 1537|      0|    };
 1538|       |
 1539|      0|    constexpr size_t N = 256;
 1540|      0|    Elem e[N];
 1541|      0|    for (size_t n = 0; n <= N; n = 2 * n + 1) {
  ------------------
  |  Branch (1541:24): [True: 0, False: 0]
  ------------------
 1542|       |        // system sort functions
 1543|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1544|       |#if UPX_CONFIG_USE_STABLE_SORT
 1545|       |        upx_sort_func_t wrap_stable_sort = [](void *aa, size_t nn, size_t, upx_compare_func_t cc) {
 1546|       |            upx_std_stable_sort<sizeof(Elem)>(aa, nn, cc);
 1547|       |        };
 1548|       |        CHECK(Elem::check_sort(wrap_stable_sort, e, n, true)); // std::stable_sort()
 1549|       |#endif
 1550|       |        // simple UPX sort functions
 1551|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1552|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1553|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1554|      0|    }
 1555|      0|}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|  31.8k|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|  31.8k|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE6checkUIcEEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  31.8k|#if defined(upx_is_constant_evaluated)
  403|  31.8k|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE6checkUIKcEEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  31.8k|#if defined(upx_is_constant_evaluated)
  403|  31.8k|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE5checkEv:
  458|  63.7k|    static noinline void check() noexcept {
  459|  63.7k|        check_core();
  460|  63.7k|        {
  461|  63.7k|            T zero, one, three, four;
  462|  63.7k|            zero = 0;
  463|  63.7k|            one = 1;
  464|  63.7k|            three = 3;
  465|  63.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  63.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  63.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  63.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  63.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  63.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  63.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  63.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  63.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  63.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  63.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  63.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  63.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  63.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  63.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  63.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  63.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  63.7k|        }
  493|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE10check_coreEv:
  417|  63.7k|    static noinline void check_core() noexcept {
  418|  63.7k|        checkU<T>();
  419|  63.7k|        checkU<typename std::add_const<T>::type>();
  420|  63.7k|        {
  421|  63.7k|            TestT t = {};
  422|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  63.7k|        }
  425|      0|        {
  426|  63.7k|            const TestT t = {};
  427|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  63.7k|        }
  430|  63.7k|        {
  431|  63.7k|            constexpr TestT t = {};
  432|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  63.7k|        }
  435|  63.7k|        {
  436|  63.7k|            TestT t;
  437|  63.7k|            mem_clear(&t);
  438|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  63.7k|        }
  441|      0|        {
  442|  63.7k|            T zero, one, three, four;
  443|  63.7k|            zero = 0;
  444|  63.7k|            one = 1;
  445|  63.7k|            three = 3;
  446|  63.7k|            four = 4;
  447|  63.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  63.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  63.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  63.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  63.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  63.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  63.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  63.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  63.7k|        }
  457|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE6checkUIaEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE6checkUIKaEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE5checkEv:
  458|  63.7k|    static noinline void check() noexcept {
  459|  63.7k|        check_core();
  460|  63.7k|        {
  461|  63.7k|            T zero, one, three, four;
  462|  63.7k|            zero = 0;
  463|  63.7k|            one = 1;
  464|  63.7k|            three = 3;
  465|  63.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  63.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  63.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  63.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  63.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  63.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  63.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  63.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  63.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  63.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  63.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  63.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  63.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  63.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  63.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  63.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  63.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  63.7k|        }
  493|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE10check_coreEv:
  417|  63.7k|    static noinline void check_core() noexcept {
  418|  63.7k|        checkU<T>();
  419|  63.7k|        checkU<typename std::add_const<T>::type>();
  420|  63.7k|        {
  421|  63.7k|            TestT t = {};
  422|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  63.7k|        }
  425|      0|        {
  426|  63.7k|            const TestT t = {};
  427|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  63.7k|        }
  430|  63.7k|        {
  431|  63.7k|            constexpr TestT t = {};
  432|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  63.7k|        }
  435|  63.7k|        {
  436|  63.7k|            TestT t;
  437|  63.7k|            mem_clear(&t);
  438|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  63.7k|        }
  441|      0|        {
  442|  63.7k|            T zero, one, three, four;
  443|  63.7k|            zero = 0;
  444|  63.7k|            one = 1;
  445|  63.7k|            three = 3;
  446|  63.7k|            four = 4;
  447|  63.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  63.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  63.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  63.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  63.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  63.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  63.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  63.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  63.7k|        }
  457|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE6checkUIhEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE6checkUIKhEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE5checkEv:
  458|  63.7k|    static noinline void check() noexcept {
  459|  63.7k|        check_core();
  460|  63.7k|        {
  461|  63.7k|            T zero, one, three, four;
  462|  63.7k|            zero = 0;
  463|  63.7k|            one = 1;
  464|  63.7k|            three = 3;
  465|  63.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  63.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  63.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  63.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  63.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  63.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  63.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  63.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  63.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  63.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  63.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  63.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  63.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  63.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  63.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  63.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  63.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  63.7k|        }
  493|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE10check_coreEv:
  417|  63.7k|    static noinline void check_core() noexcept {
  418|  63.7k|        checkU<T>();
  419|  63.7k|        checkU<typename std::add_const<T>::type>();
  420|  63.7k|        {
  421|  63.7k|            TestT t = {};
  422|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  63.7k|        }
  425|      0|        {
  426|  63.7k|            const TestT t = {};
  427|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  63.7k|        }
  430|  63.7k|        {
  431|  63.7k|            constexpr TestT t = {};
  432|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  63.7k|        }
  435|  63.7k|        {
  436|  63.7k|            TestT t;
  437|  63.7k|            mem_clear(&t);
  438|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  63.7k|        }
  441|      0|        {
  442|  63.7k|            T zero, one, three, four;
  443|  63.7k|            zero = 0;
  444|  63.7k|            one = 1;
  445|  63.7k|            three = 3;
  446|  63.7k|            four = 4;
  447|  63.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  63.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  63.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  63.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  63.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  63.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  63.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  63.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  63.7k|        }
  457|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE6checkUIsEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE6checkUIKsEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE5checkEv:
  458|  63.7k|    static noinline void check() noexcept {
  459|  63.7k|        check_core();
  460|  63.7k|        {
  461|  63.7k|            T zero, one, three, four;
  462|  63.7k|            zero = 0;
  463|  63.7k|            one = 1;
  464|  63.7k|            three = 3;
  465|  63.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  63.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  63.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  63.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  63.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  63.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  63.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  63.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  63.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  63.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  63.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  63.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  63.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  63.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  63.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  63.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  63.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  63.7k|        }
  493|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE10check_coreEv:
  417|  63.7k|    static noinline void check_core() noexcept {
  418|  63.7k|        checkU<T>();
  419|  63.7k|        checkU<typename std::add_const<T>::type>();
  420|  63.7k|        {
  421|  63.7k|            TestT t = {};
  422|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  63.7k|        }
  425|      0|        {
  426|  63.7k|            const TestT t = {};
  427|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  63.7k|        }
  430|  63.7k|        {
  431|  63.7k|            constexpr TestT t = {};
  432|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  63.7k|        }
  435|  63.7k|        {
  436|  63.7k|            TestT t;
  437|  63.7k|            mem_clear(&t);
  438|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  63.7k|        }
  441|      0|        {
  442|  63.7k|            T zero, one, three, four;
  443|  63.7k|            zero = 0;
  444|  63.7k|            one = 1;
  445|  63.7k|            three = 3;
  446|  63.7k|            four = 4;
  447|  63.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  63.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  63.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  63.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  63.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  63.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  63.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  63.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  63.7k|        }
  457|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE6checkUItEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE6checkUIKtEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE5checkEv:
  458|  63.7k|    static noinline void check() noexcept {
  459|  63.7k|        check_core();
  460|  63.7k|        {
  461|  63.7k|            T zero, one, three, four;
  462|  63.7k|            zero = 0;
  463|  63.7k|            one = 1;
  464|  63.7k|            three = 3;
  465|  63.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  63.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  63.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  63.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  63.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  63.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  63.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  63.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  63.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  63.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  63.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  63.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  63.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  63.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  63.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  63.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  63.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  63.7k|        }
  493|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE10check_coreEv:
  417|  63.7k|    static noinline void check_core() noexcept {
  418|  63.7k|        checkU<T>();
  419|  63.7k|        checkU<typename std::add_const<T>::type>();
  420|  63.7k|        {
  421|  63.7k|            TestT t = {};
  422|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  63.7k|        }
  425|      0|        {
  426|  63.7k|            const TestT t = {};
  427|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  63.7k|        }
  430|  63.7k|        {
  431|  63.7k|            constexpr TestT t = {};
  432|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  63.7k|        }
  435|  63.7k|        {
  436|  63.7k|            TestT t;
  437|  63.7k|            mem_clear(&t);
  438|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  63.7k|        }
  441|      0|        {
  442|  63.7k|            T zero, one, three, four;
  443|  63.7k|            zero = 0;
  444|  63.7k|            one = 1;
  445|  63.7k|            three = 3;
  446|  63.7k|            four = 4;
  447|  63.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  63.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  63.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  63.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  63.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  63.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  63.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  63.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  63.7k|        }
  457|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE6checkUIiEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE6checkUIKiEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE5checkEv:
  458|  63.7k|    static noinline void check() noexcept {
  459|  63.7k|        check_core();
  460|  63.7k|        {
  461|  63.7k|            T zero, one, three, four;
  462|  63.7k|            zero = 0;
  463|  63.7k|            one = 1;
  464|  63.7k|            three = 3;
  465|  63.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  63.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  63.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  63.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  63.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  63.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  63.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  63.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  63.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  63.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  63.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  63.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  63.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  63.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  63.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  63.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  63.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  63.7k|        }
  493|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE10check_coreEv:
  417|  63.7k|    static noinline void check_core() noexcept {
  418|  63.7k|        checkU<T>();
  419|  63.7k|        checkU<typename std::add_const<T>::type>();
  420|  63.7k|        {
  421|  63.7k|            TestT t = {};
  422|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  63.7k|        }
  425|      0|        {
  426|  63.7k|            const TestT t = {};
  427|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  63.7k|        }
  430|  63.7k|        {
  431|  63.7k|            constexpr TestT t = {};
  432|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  63.7k|        }
  435|  63.7k|        {
  436|  63.7k|            TestT t;
  437|  63.7k|            mem_clear(&t);
  438|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  63.7k|        }
  441|      0|        {
  442|  63.7k|            T zero, one, three, four;
  443|  63.7k|            zero = 0;
  444|  63.7k|            one = 1;
  445|  63.7k|            three = 3;
  446|  63.7k|            four = 4;
  447|  63.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  63.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  63.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  63.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  63.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  63.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  63.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  63.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  63.7k|        }
  457|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE6checkUIjEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE6checkUIKjEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE5checkEv:
  458|   159k|    static noinline void check() noexcept {
  459|   159k|        check_core();
  460|   159k|        {
  461|   159k|            T zero, one, three, four;
  462|   159k|            zero = 0;
  463|   159k|            one = 1;
  464|   159k|            three = 3;
  465|   159k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|   159k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|   159k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|   159k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|   159k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|   159k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|   159k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|   159k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|   159k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|   159k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|   159k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|   159k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|   159k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|   159k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|   159k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|   159k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|   159k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|   159k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|   159k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|   159k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|   159k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|   159k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|   159k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|   159k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|   159k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|   159k|        }
  493|   159k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE10check_coreEv:
  417|   159k|    static noinline void check_core() noexcept {
  418|   159k|        checkU<T>();
  419|   159k|        checkU<typename std::add_const<T>::type>();
  420|   159k|        {
  421|   159k|            TestT t = {};
  422|   159k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|   159k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|   159k|        }
  425|      0|        {
  426|   159k|            const TestT t = {};
  427|   159k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|   159k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|   159k|        }
  430|   159k|        {
  431|   159k|            constexpr TestT t = {};
  432|   159k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|   159k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|   159k|        }
  435|   159k|        {
  436|   159k|            TestT t;
  437|   159k|            mem_clear(&t);
  438|   159k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|   159k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|   159k|        }
  441|      0|        {
  442|   159k|            T zero, one, three, four;
  443|   159k|            zero = 0;
  444|   159k|            one = 1;
  445|   159k|            three = 3;
  446|   159k|            four = 4;
  447|   159k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|   159k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|   159k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|   159k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|   159k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|   159k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|   159k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|   159k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|   159k|        }
  457|   159k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE6checkUIlEEvv:
  373|   159k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|   159k|        static_assert(upx_is_integral<U>::value);
  376|   159k|        static_assert(upx_is_integral_v<U>);
  377|   159k|#if __cplusplus <= 201703L
  378|   159k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|   159k|#endif
  380|   159k|        static_assert(std::is_standard_layout<U>::value);
  381|   159k|#if __cplusplus <= 202302L
  382|   159k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|   159k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|   159k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|   159k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|   159k|        static_assert(std::is_trivially_copyable<U>::value);
  388|   159k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|   159k|        {
  390|   159k|            U a = {};
  391|   159k|            const U b = {};
  392|   159k|            constexpr U c = {};
  393|   159k|            U x[2] = {};
  394|   159k|            const U y[2] = {};
  395|   159k|            constexpr U z[2] = {};
  396|   159k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   159k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|   159k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   159k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   159k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|   159k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|   159k|#if defined(upx_is_constant_evaluated)
  403|   159k|            static_assert(c == 0);
  404|   159k|            static_assert(z[0] == 0 && z[1] == 0);
  405|   159k|#endif
  406|   159k|        }
  407|      0|        {
  408|   159k|            TestU<U> t;
  409|   159k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   159k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   159k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|   159k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|   159k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   159k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   159k|        }
  416|   159k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE6checkUIKlEEvv:
  373|   159k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|   159k|        static_assert(upx_is_integral<U>::value);
  376|   159k|        static_assert(upx_is_integral_v<U>);
  377|   159k|#if __cplusplus <= 201703L
  378|   159k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|   159k|#endif
  380|   159k|        static_assert(std::is_standard_layout<U>::value);
  381|   159k|#if __cplusplus <= 202302L
  382|   159k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|   159k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|   159k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|   159k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|   159k|        static_assert(std::is_trivially_copyable<U>::value);
  388|   159k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|   159k|        {
  390|   159k|            U a = {};
  391|   159k|            const U b = {};
  392|   159k|            constexpr U c = {};
  393|   159k|            U x[2] = {};
  394|   159k|            const U y[2] = {};
  395|   159k|            constexpr U z[2] = {};
  396|   159k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   159k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|   159k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   159k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   159k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|   159k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|   159k|#if defined(upx_is_constant_evaluated)
  403|   159k|            static_assert(c == 0);
  404|   159k|            static_assert(z[0] == 0 && z[1] == 0);
  405|   159k|#endif
  406|   159k|        }
  407|      0|        {
  408|   159k|            TestU<U> t;
  409|   159k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   159k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   159k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|   159k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|   159k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 159k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   159k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|   159k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   318k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 159k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   159k|        }
  416|   159k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE5checkEv:
  458|   223k|    static noinline void check() noexcept {
  459|   223k|        check_core();
  460|   223k|        {
  461|   223k|            T zero, one, three, four;
  462|   223k|            zero = 0;
  463|   223k|            one = 1;
  464|   223k|            three = 3;
  465|   223k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|   223k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|   223k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|   223k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|   223k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|   223k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|   223k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|   223k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|   223k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|   223k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|   223k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|   223k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|   223k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|   223k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|   223k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|   223k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|   223k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|   223k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|   223k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|   223k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|   223k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|   223k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|   223k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|   223k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|   223k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|   223k|        }
  493|   223k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE10check_coreEv:
  417|   223k|    static noinline void check_core() noexcept {
  418|   223k|        checkU<T>();
  419|   223k|        checkU<typename std::add_const<T>::type>();
  420|   223k|        {
  421|   223k|            TestT t = {};
  422|   223k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|   223k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|   223k|        }
  425|      0|        {
  426|   223k|            const TestT t = {};
  427|   223k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|   223k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|   223k|        }
  430|   223k|        {
  431|   223k|            constexpr TestT t = {};
  432|   223k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|   223k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|   223k|        }
  435|   223k|        {
  436|   223k|            TestT t;
  437|   223k|            mem_clear(&t);
  438|   223k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|   223k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|   223k|        }
  441|      0|        {
  442|   223k|            T zero, one, three, four;
  443|   223k|            zero = 0;
  444|   223k|            one = 1;
  445|   223k|            three = 3;
  446|   223k|            four = 4;
  447|   223k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|   223k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|   223k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|   223k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|   223k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|   223k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|   223k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|   223k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|   223k|        }
  457|   223k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE6checkUImEEvv:
  373|   223k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|   223k|        static_assert(upx_is_integral<U>::value);
  376|   223k|        static_assert(upx_is_integral_v<U>);
  377|   223k|#if __cplusplus <= 201703L
  378|   223k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|   223k|#endif
  380|   223k|        static_assert(std::is_standard_layout<U>::value);
  381|   223k|#if __cplusplus <= 202302L
  382|   223k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|   223k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|   223k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|   223k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|   223k|        static_assert(std::is_trivially_copyable<U>::value);
  388|   223k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|   223k|        {
  390|   223k|            U a = {};
  391|   223k|            const U b = {};
  392|   223k|            constexpr U c = {};
  393|   223k|            U x[2] = {};
  394|   223k|            const U y[2] = {};
  395|   223k|            constexpr U z[2] = {};
  396|   223k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   223k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|   223k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   223k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   223k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|   223k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|   223k|#if defined(upx_is_constant_evaluated)
  403|   223k|            static_assert(c == 0);
  404|   223k|            static_assert(z[0] == 0 && z[1] == 0);
  405|   223k|#endif
  406|   223k|        }
  407|      0|        {
  408|   223k|            TestU<U> t;
  409|   223k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   223k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   223k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|   223k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|   223k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   223k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   223k|        }
  416|   223k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE6checkUIKmEEvv:
  373|   223k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|   223k|        static_assert(upx_is_integral<U>::value);
  376|   223k|        static_assert(upx_is_integral_v<U>);
  377|   223k|#if __cplusplus <= 201703L
  378|   223k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|   223k|#endif
  380|   223k|        static_assert(std::is_standard_layout<U>::value);
  381|   223k|#if __cplusplus <= 202302L
  382|   223k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|   223k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|   223k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|   223k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|   223k|        static_assert(std::is_trivially_copyable<U>::value);
  388|   223k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|   223k|        {
  390|   223k|            U a = {};
  391|   223k|            const U b = {};
  392|   223k|            constexpr U c = {};
  393|   223k|            U x[2] = {};
  394|   223k|            const U y[2] = {};
  395|   223k|            constexpr U z[2] = {};
  396|   223k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   223k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|   223k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   223k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   223k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|   223k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|   223k|#if defined(upx_is_constant_evaluated)
  403|   223k|            static_assert(c == 0);
  404|   223k|            static_assert(z[0] == 0 && z[1] == 0);
  405|   223k|#endif
  406|   223k|        }
  407|      0|        {
  408|   223k|            TestU<U> t;
  409|   223k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   223k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   223k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|   223k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|   223k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 223k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   223k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|   223k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   446k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 223k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   223k|        }
  416|   223k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE5checkEv:
  458|  95.6k|    static noinline void check() noexcept {
  459|  95.6k|        check_core();
  460|  95.6k|        {
  461|  95.6k|            T zero, one, three, four;
  462|  95.6k|            zero = 0;
  463|  95.6k|            one = 1;
  464|  95.6k|            three = 3;
  465|  95.6k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  95.6k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  95.6k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  95.6k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  95.6k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  95.6k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  95.6k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  95.6k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  95.6k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  95.6k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  95.6k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  95.6k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  95.6k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  95.6k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  95.6k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  95.6k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  95.6k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  95.6k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  95.6k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  95.6k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  95.6k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  95.6k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  95.6k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  95.6k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  95.6k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  95.6k|        }
  493|  95.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE10check_coreEv:
  417|  95.6k|    static noinline void check_core() noexcept {
  418|  95.6k|        checkU<T>();
  419|  95.6k|        checkU<typename std::add_const<T>::type>();
  420|  95.6k|        {
  421|  95.6k|            TestT t = {};
  422|  95.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  95.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  95.6k|        }
  425|      0|        {
  426|  95.6k|            const TestT t = {};
  427|  95.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  95.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  95.6k|        }
  430|  95.6k|        {
  431|  95.6k|            constexpr TestT t = {};
  432|  95.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  95.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  95.6k|        }
  435|  95.6k|        {
  436|  95.6k|            TestT t;
  437|  95.6k|            mem_clear(&t);
  438|  95.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  95.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  95.6k|        }
  441|      0|        {
  442|  95.6k|            T zero, one, three, four;
  443|  95.6k|            zero = 0;
  444|  95.6k|            one = 1;
  445|  95.6k|            three = 3;
  446|  95.6k|            four = 4;
  447|  95.6k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  95.6k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  95.6k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  95.6k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  95.6k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  95.6k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  95.6k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  95.6k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  95.6k|        }
  457|  95.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE6checkUIxEEvv:
  373|  95.6k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  95.6k|        static_assert(upx_is_integral<U>::value);
  376|  95.6k|        static_assert(upx_is_integral_v<U>);
  377|  95.6k|#if __cplusplus <= 201703L
  378|  95.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  95.6k|#endif
  380|  95.6k|        static_assert(std::is_standard_layout<U>::value);
  381|  95.6k|#if __cplusplus <= 202302L
  382|  95.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  95.6k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  95.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  95.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  95.6k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  95.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  95.6k|        {
  390|  95.6k|            U a = {};
  391|  95.6k|            const U b = {};
  392|  95.6k|            constexpr U c = {};
  393|  95.6k|            U x[2] = {};
  394|  95.6k|            const U y[2] = {};
  395|  95.6k|            constexpr U z[2] = {};
  396|  95.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  95.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  95.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  95.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  95.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  95.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  95.6k|#if defined(upx_is_constant_evaluated)
  403|  95.6k|            static_assert(c == 0);
  404|  95.6k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  95.6k|#endif
  406|  95.6k|        }
  407|      0|        {
  408|  95.6k|            TestU<U> t;
  409|  95.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  95.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  95.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  95.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  95.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  95.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  95.6k|        }
  416|  95.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE6checkUIKxEEvv:
  373|  95.6k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  95.6k|        static_assert(upx_is_integral<U>::value);
  376|  95.6k|        static_assert(upx_is_integral_v<U>);
  377|  95.6k|#if __cplusplus <= 201703L
  378|  95.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  95.6k|#endif
  380|  95.6k|        static_assert(std::is_standard_layout<U>::value);
  381|  95.6k|#if __cplusplus <= 202302L
  382|  95.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  95.6k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  95.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  95.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  95.6k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  95.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  95.6k|        {
  390|  95.6k|            U a = {};
  391|  95.6k|            const U b = {};
  392|  95.6k|            constexpr U c = {};
  393|  95.6k|            U x[2] = {};
  394|  95.6k|            const U y[2] = {};
  395|  95.6k|            constexpr U z[2] = {};
  396|  95.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  95.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  95.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  95.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  95.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  95.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  95.6k|#if defined(upx_is_constant_evaluated)
  403|  95.6k|            static_assert(c == 0);
  404|  95.6k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  95.6k|#endif
  406|  95.6k|        }
  407|      0|        {
  408|  95.6k|            TestU<U> t;
  409|  95.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  95.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  95.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  95.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  95.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 95.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  95.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  95.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 95.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  95.6k|        }
  416|  95.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE5checkEv:
  458|  63.7k|    static noinline void check() noexcept {
  459|  63.7k|        check_core();
  460|  63.7k|        {
  461|  63.7k|            T zero, one, three, four;
  462|  63.7k|            zero = 0;
  463|  63.7k|            one = 1;
  464|  63.7k|            three = 3;
  465|  63.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  63.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  63.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  63.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  63.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  63.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  63.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  63.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  63.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  63.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  63.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  63.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  63.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  63.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  63.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  63.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  63.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  63.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  63.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  63.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  63.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  63.7k|        }
  493|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE10check_coreEv:
  417|  63.7k|    static noinline void check_core() noexcept {
  418|  63.7k|        checkU<T>();
  419|  63.7k|        checkU<typename std::add_const<T>::type>();
  420|  63.7k|        {
  421|  63.7k|            TestT t = {};
  422|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  63.7k|        }
  425|      0|        {
  426|  63.7k|            const TestT t = {};
  427|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  63.7k|        }
  430|  63.7k|        {
  431|  63.7k|            constexpr TestT t = {};
  432|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  63.7k|        }
  435|  63.7k|        {
  436|  63.7k|            TestT t;
  437|  63.7k|            mem_clear(&t);
  438|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  63.7k|        }
  441|      0|        {
  442|  63.7k|            T zero, one, three, four;
  443|  63.7k|            zero = 0;
  444|  63.7k|            one = 1;
  445|  63.7k|            three = 3;
  446|  63.7k|            four = 4;
  447|  63.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  63.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  63.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  63.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  63.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  63.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  63.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  63.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  63.7k|        }
  457|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE6checkUIyEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE6checkUIKyEEvv:
  373|  63.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  63.7k|        static_assert(upx_is_integral<U>::value);
  376|  63.7k|        static_assert(upx_is_integral_v<U>);
  377|  63.7k|#if __cplusplus <= 201703L
  378|  63.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  63.7k|#endif
  380|  63.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  63.7k|#if __cplusplus <= 202302L
  382|  63.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  63.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  63.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  63.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  63.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  63.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  63.7k|        {
  390|  63.7k|            U a = {};
  391|  63.7k|            const U b = {};
  392|  63.7k|            constexpr U c = {};
  393|  63.7k|            U x[2] = {};
  394|  63.7k|            const U y[2] = {};
  395|  63.7k|            constexpr U z[2] = {};
  396|  63.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  63.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  63.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  63.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  63.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  63.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  63.7k|#if defined(upx_is_constant_evaluated)
  403|  63.7k|            static_assert(c == 0);
  404|  63.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  63.7k|#endif
  406|  63.7k|        }
  407|      0|        {
  408|  63.7k|            TestU<U> t;
  409|  63.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  63.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  63.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  63.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  63.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 63.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  63.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  63.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 63.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  63.7k|        }
  416|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|  31.8k|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|  31.8k|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE6checkUInEEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  31.8k|#if defined(upx_is_constant_evaluated)
  403|  31.8k|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE6checkUIKnEEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  31.8k|#if defined(upx_is_constant_evaluated)
  403|  31.8k|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|  31.8k|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|  31.8k|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE6checkUIoEEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  31.8k|#if defined(upx_is_constant_evaluated)
  403|  31.8k|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE6checkUIKoEEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  31.8k|#if defined(upx_is_constant_evaluated)
  403|  31.8k|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE5checkEv:
  715|  31.8k|    static noinline void check() noexcept {
  716|  31.8k|        checkU<T, T_is_signed>();
  717|  31.8k|        using signed_type = std::make_signed_t<T>;
  718|  31.8k|        checkU<signed_type, true>();
  719|  31.8k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  31.8k|        checkU<unsigned_type, false>();
  721|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIcLb0EEEvv:
  705|  31.8k|    static inline void checkU() noexcept {
  706|  31.8k|        static_assert(std::is_integral_v<U>);
  707|  31.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  31.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  31.8k|        static_assert(sizeof(U) == sizeof(T));
  710|  31.8k|        static_assert(alignof(U) == alignof(T));
  711|  31.8k|        constexpr U all_bits = U(U(0) - U(1));
  712|  31.8k|        static_assert(all_bits == U(~U(0)));
  713|  31.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIaLb1EEEvv:
  705|  31.8k|    static inline void checkU() noexcept {
  706|  31.8k|        static_assert(std::is_integral_v<U>);
  707|  31.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  31.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  31.8k|        static_assert(sizeof(U) == sizeof(T));
  710|  31.8k|        static_assert(alignof(U) == alignof(T));
  711|  31.8k|        constexpr U all_bits = U(U(0) - U(1));
  712|  31.8k|        static_assert(all_bits == U(~U(0)));
  713|  31.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIhLb0EEEvv:
  705|  31.8k|    static inline void checkU() noexcept {
  706|  31.8k|        static_assert(std::is_integral_v<U>);
  707|  31.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  31.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  31.8k|        static_assert(sizeof(U) == sizeof(T));
  710|  31.8k|        static_assert(alignof(U) == alignof(T));
  711|  31.8k|        constexpr U all_bits = U(U(0) - U(1));
  712|  31.8k|        static_assert(all_bits == U(~U(0)));
  713|  31.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE5checkEv:
  715|  63.7k|    static noinline void check() noexcept {
  716|  63.7k|        checkU<T, T_is_signed>();
  717|  63.7k|        using signed_type = std::make_signed_t<T>;
  718|  63.7k|        checkU<signed_type, true>();
  719|  63.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  63.7k|        checkU<unsigned_type, false>();
  721|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE6checkUIaLb1EEEvv:
  705|   127k|    static inline void checkU() noexcept {
  706|   127k|        static_assert(std::is_integral_v<U>);
  707|   127k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   127k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   127k|        static_assert(sizeof(U) == sizeof(T));
  710|   127k|        static_assert(alignof(U) == alignof(T));
  711|   127k|        constexpr U all_bits = U(U(0) - U(1));
  712|   127k|        static_assert(all_bits == U(~U(0)));
  713|   127k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   127k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE6checkUIhLb0EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE5checkEv:
  715|  63.7k|    static noinline void check() noexcept {
  716|  63.7k|        checkU<T, T_is_signed>();
  717|  63.7k|        using signed_type = std::make_signed_t<T>;
  718|  63.7k|        checkU<signed_type, true>();
  719|  63.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  63.7k|        checkU<unsigned_type, false>();
  721|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE6checkUIhLb0EEEvv:
  705|   127k|    static inline void checkU() noexcept {
  706|   127k|        static_assert(std::is_integral_v<U>);
  707|   127k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   127k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   127k|        static_assert(sizeof(U) == sizeof(T));
  710|   127k|        static_assert(alignof(U) == alignof(T));
  711|   127k|        constexpr U all_bits = U(U(0) - U(1));
  712|   127k|        static_assert(all_bits == U(~U(0)));
  713|   127k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   127k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE6checkUIaLb1EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE5checkEv:
  715|  63.7k|    static noinline void check() noexcept {
  716|  63.7k|        checkU<T, T_is_signed>();
  717|  63.7k|        using signed_type = std::make_signed_t<T>;
  718|  63.7k|        checkU<signed_type, true>();
  719|  63.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  63.7k|        checkU<unsigned_type, false>();
  721|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE6checkUIsLb1EEEvv:
  705|   127k|    static inline void checkU() noexcept {
  706|   127k|        static_assert(std::is_integral_v<U>);
  707|   127k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   127k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   127k|        static_assert(sizeof(U) == sizeof(T));
  710|   127k|        static_assert(alignof(U) == alignof(T));
  711|   127k|        constexpr U all_bits = U(U(0) - U(1));
  712|   127k|        static_assert(all_bits == U(~U(0)));
  713|   127k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   127k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE6checkUItLb0EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE5checkEv:
  715|  63.7k|    static noinline void check() noexcept {
  716|  63.7k|        checkU<T, T_is_signed>();
  717|  63.7k|        using signed_type = std::make_signed_t<T>;
  718|  63.7k|        checkU<signed_type, true>();
  719|  63.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  63.7k|        checkU<unsigned_type, false>();
  721|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE6checkUItLb0EEEvv:
  705|   127k|    static inline void checkU() noexcept {
  706|   127k|        static_assert(std::is_integral_v<U>);
  707|   127k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   127k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   127k|        static_assert(sizeof(U) == sizeof(T));
  710|   127k|        static_assert(alignof(U) == alignof(T));
  711|   127k|        constexpr U all_bits = U(U(0) - U(1));
  712|   127k|        static_assert(all_bits == U(~U(0)));
  713|   127k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   127k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE6checkUIsLb1EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE5checkEv:
  715|  63.7k|    static noinline void check() noexcept {
  716|  63.7k|        checkU<T, T_is_signed>();
  717|  63.7k|        using signed_type = std::make_signed_t<T>;
  718|  63.7k|        checkU<signed_type, true>();
  719|  63.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  63.7k|        checkU<unsigned_type, false>();
  721|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE6checkUIiLb1EEEvv:
  705|   127k|    static inline void checkU() noexcept {
  706|   127k|        static_assert(std::is_integral_v<U>);
  707|   127k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   127k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   127k|        static_assert(sizeof(U) == sizeof(T));
  710|   127k|        static_assert(alignof(U) == alignof(T));
  711|   127k|        constexpr U all_bits = U(U(0) - U(1));
  712|   127k|        static_assert(all_bits == U(~U(0)));
  713|   127k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   127k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE6checkUIjLb0EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE5checkEv:
  715|  63.7k|    static noinline void check() noexcept {
  716|  63.7k|        checkU<T, T_is_signed>();
  717|  63.7k|        using signed_type = std::make_signed_t<T>;
  718|  63.7k|        checkU<signed_type, true>();
  719|  63.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  63.7k|        checkU<unsigned_type, false>();
  721|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE6checkUIjLb0EEEvv:
  705|   127k|    static inline void checkU() noexcept {
  706|   127k|        static_assert(std::is_integral_v<U>);
  707|   127k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   127k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   127k|        static_assert(sizeof(U) == sizeof(T));
  710|   127k|        static_assert(alignof(U) == alignof(T));
  711|   127k|        constexpr U all_bits = U(U(0) - U(1));
  712|   127k|        static_assert(all_bits == U(~U(0)));
  713|   127k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   127k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE6checkUIiLb1EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE5checkEv:
  715|   159k|    static noinline void check() noexcept {
  716|   159k|        checkU<T, T_is_signed>();
  717|   159k|        using signed_type = std::make_signed_t<T>;
  718|   159k|        checkU<signed_type, true>();
  719|   159k|        using unsigned_type = std::make_unsigned_t<T>;
  720|   159k|        checkU<unsigned_type, false>();
  721|   159k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE6checkUIlLb1EEEvv:
  705|   318k|    static inline void checkU() noexcept {
  706|   318k|        static_assert(std::is_integral_v<U>);
  707|   318k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   318k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   318k|        static_assert(sizeof(U) == sizeof(T));
  710|   318k|        static_assert(alignof(U) == alignof(T));
  711|   318k|        constexpr U all_bits = U(U(0) - U(1));
  712|   318k|        static_assert(all_bits == U(~U(0)));
  713|   318k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   318k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE6checkUImLb0EEEvv:
  705|   159k|    static inline void checkU() noexcept {
  706|   159k|        static_assert(std::is_integral_v<U>);
  707|   159k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   159k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   159k|        static_assert(sizeof(U) == sizeof(T));
  710|   159k|        static_assert(alignof(U) == alignof(T));
  711|   159k|        constexpr U all_bits = U(U(0) - U(1));
  712|   159k|        static_assert(all_bits == U(~U(0)));
  713|   159k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   159k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE5checkEv:
  715|   223k|    static noinline void check() noexcept {
  716|   223k|        checkU<T, T_is_signed>();
  717|   223k|        using signed_type = std::make_signed_t<T>;
  718|   223k|        checkU<signed_type, true>();
  719|   223k|        using unsigned_type = std::make_unsigned_t<T>;
  720|   223k|        checkU<unsigned_type, false>();
  721|   223k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE6checkUImLb0EEEvv:
  705|   446k|    static inline void checkU() noexcept {
  706|   446k|        static_assert(std::is_integral_v<U>);
  707|   446k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   446k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   446k|        static_assert(sizeof(U) == sizeof(T));
  710|   446k|        static_assert(alignof(U) == alignof(T));
  711|   446k|        constexpr U all_bits = U(U(0) - U(1));
  712|   446k|        static_assert(all_bits == U(~U(0)));
  713|   446k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   446k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE6checkUIlLb1EEEvv:
  705|   223k|    static inline void checkU() noexcept {
  706|   223k|        static_assert(std::is_integral_v<U>);
  707|   223k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   223k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   223k|        static_assert(sizeof(U) == sizeof(T));
  710|   223k|        static_assert(alignof(U) == alignof(T));
  711|   223k|        constexpr U all_bits = U(U(0) - U(1));
  712|   223k|        static_assert(all_bits == U(~U(0)));
  713|   223k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   223k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE5checkEv:
  715|  95.6k|    static noinline void check() noexcept {
  716|  95.6k|        checkU<T, T_is_signed>();
  717|  95.6k|        using signed_type = std::make_signed_t<T>;
  718|  95.6k|        checkU<signed_type, true>();
  719|  95.6k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  95.6k|        checkU<unsigned_type, false>();
  721|  95.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE6checkUIxLb1EEEvv:
  705|   191k|    static inline void checkU() noexcept {
  706|   191k|        static_assert(std::is_integral_v<U>);
  707|   191k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   191k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   191k|        static_assert(sizeof(U) == sizeof(T));
  710|   191k|        static_assert(alignof(U) == alignof(T));
  711|   191k|        constexpr U all_bits = U(U(0) - U(1));
  712|   191k|        static_assert(all_bits == U(~U(0)));
  713|   191k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   191k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE6checkUIyLb0EEEvv:
  705|  95.6k|    static inline void checkU() noexcept {
  706|  95.6k|        static_assert(std::is_integral_v<U>);
  707|  95.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  95.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  95.6k|        static_assert(sizeof(U) == sizeof(T));
  710|  95.6k|        static_assert(alignof(U) == alignof(T));
  711|  95.6k|        constexpr U all_bits = U(U(0) - U(1));
  712|  95.6k|        static_assert(all_bits == U(~U(0)));
  713|  95.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  95.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE5checkEv:
  715|  63.7k|    static noinline void check() noexcept {
  716|  63.7k|        checkU<T, T_is_signed>();
  717|  63.7k|        using signed_type = std::make_signed_t<T>;
  718|  63.7k|        checkU<signed_type, true>();
  719|  63.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  63.7k|        checkU<unsigned_type, false>();
  721|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE6checkUIyLb0EEEvv:
  705|   127k|    static inline void checkU() noexcept {
  706|   127k|        static_assert(std::is_integral_v<U>);
  707|   127k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   127k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   127k|        static_assert(sizeof(U) == sizeof(T));
  710|   127k|        static_assert(alignof(U) == alignof(T));
  711|   127k|        constexpr U all_bits = U(U(0) - U(1));
  712|   127k|        static_assert(all_bits == U(~U(0)));
  713|   127k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   127k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE6checkUIxLb1EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE5checkEv:
  715|  31.8k|    static noinline void check() noexcept {
  716|  31.8k|        checkU<T, T_is_signed>();
  717|  31.8k|        using signed_type = std::make_signed_t<T>;
  718|  31.8k|        checkU<signed_type, true>();
  719|  31.8k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  31.8k|        checkU<unsigned_type, false>();
  721|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE6checkUInLb1EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE6checkUIoLb0EEEvv:
  705|  31.8k|    static inline void checkU() noexcept {
  706|  31.8k|        static_assert(std::is_integral_v<U>);
  707|  31.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  31.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  31.8k|        static_assert(sizeof(U) == sizeof(T));
  710|  31.8k|        static_assert(alignof(U) == alignof(T));
  711|  31.8k|        constexpr U all_bits = U(U(0) - U(1));
  712|  31.8k|        static_assert(all_bits == U(~U(0)));
  713|  31.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE5checkEv:
  715|  31.8k|    static noinline void check() noexcept {
  716|  31.8k|        checkU<T, T_is_signed>();
  717|  31.8k|        using signed_type = std::make_signed_t<T>;
  718|  31.8k|        checkU<signed_type, true>();
  719|  31.8k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  31.8k|        checkU<unsigned_type, false>();
  721|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE6checkUIoLb0EEEvv:
  705|  63.7k|    static inline void checkU() noexcept {
  706|  63.7k|        static_assert(std::is_integral_v<U>);
  707|  63.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  63.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  63.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  63.7k|        static_assert(alignof(U) == alignof(T));
  711|  63.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  63.7k|        static_assert(all_bits == U(~U(0)));
  713|  63.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  63.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE6checkUInLb1EEEvv:
  705|  31.8k|    static inline void checkU() noexcept {
  706|  31.8k|        static_assert(std::is_integral_v<U>);
  707|  31.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  31.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  31.8k|        static_assert(sizeof(U) == sizeof(T));
  710|  31.8k|        static_assert(alignof(U) == alignof(T));
  711|  31.8k|        constexpr U all_bits = U(U(0) - U(1));
  712|  31.8k|        static_assert(all_bits == U(~U(0)));
  713|  31.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIahE5checkEv:
  738|  63.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIstE5checkEv:
  738|  63.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIijE5checkEv:
  738|  63.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIlmE5checkEv:
  738|   223k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIxyE5checkEv:
  738|  63.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairInoE5checkEv:
  738|  31.8k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE16E4testEv:
  526|  31.8k|    static noinline bool test() noexcept {
  527|  31.8k|        CheckIntegral<T>::check();
  528|  31.8k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  31.8k|        {
  531|  31.8k|            T all_bits = {}; // == zero
  532|  31.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  31.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  31.8k|            v1 = 1;
  540|  31.8k|            v1 *= 4;
  541|  31.8k|            v1 /= 2;
  542|  31.8k|            v1 -= 1;
  543|  31.8k|            T v2;
  544|  31.8k|            v2 = 1;
  545|  31.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  31.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  31.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  31.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  31.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  31.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  31.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  31.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  31.8k|            v1 |= v2;
  563|  31.8k|            v1 >>= 1;
  564|  31.8k|            v2 &= v1;
  565|  31.8k|            v2 /= v1;
  566|  31.8k|            v2 *= v1;
  567|  31.8k|            v1 += v2;
  568|  31.8k|            v1 -= v2;
  569|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  31.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 31.8k]
  ------------------
  572|      0|                return false;
  573|  31.8k|        }
  574|       |        // min/max
  575|  31.8k|        {
  576|  31.8k|            constexpr T a = {}; // == zero
  577|  31.8k|            typedef typename T::integral_conversion_type U;
  578|  31.8k|            constexpr U b = 1;
  579|  31.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  31.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  31.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  31.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  31.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  31.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  31.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  31.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  31.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  31.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  31.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  31.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  31.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  31.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  31.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  31.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  31.8k|            T minus_one_t = {}, minus_two_t = {};
  596|  31.8k|            minus_one_t -= 1;
  597|  31.8k|            minus_two_t -= 2;
  598|  31.8k|            const U minus_one_u = minus_one_t;
  599|  31.8k|            const U minus_two_u = minus_two_t;
  600|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  31.8k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  31.8k|            constexpr T zero = {};
  640|  31.8k|            constexpr T zero_copy = T::make(zero);
  641|  31.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  31.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  31.8k|            static_assert(zero_copy == zero);
  646|  31.8k|            static_assert(!upx::has_single_bit(zero));
  647|  31.8k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  31.8k|#endif
  649|  31.8k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  31.8k|            typedef typename T::integral_conversion_type U;
  653|  31.8k|            constexpr T one = T::make(1);
  654|  31.8k|            static_assert(one == 1);
  655|  31.8k|            static_assert(upx::has_single_bit(one));
  656|  31.8k|            constexpr T four = T::make(one + 3);
  657|  31.8k|            static_assert(four == 4);
  658|  31.8k|            static_assert(upx::has_single_bit(four));
  659|  31.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  31.8k|            constexpr T all_bits = T::make(all_bits_u);
  661|  31.8k|            static_assert(all_bits == all_bits_u);
  662|  31.8k|            static_assert(all_bits == T::make(one - 2));
  663|  31.8k|            static_assert(!upx::has_single_bit(all_bits));
  664|  31.8k|            static_assert(one == one);
  665|  31.8k|            static_assert(!(one == four));
  666|  31.8k|            static_assert(!(one == all_bits));
  667|  31.8k|            static_assert(one < four);
  668|  31.8k|            static_assert(one < all_bits);
  669|  31.8k|            static_assert(upx::min(one, four) == 1);
  670|  31.8k|            static_assert(upx::min(one, four) == one);
  671|  31.8k|            static_assert(upx::min(U(1), four) == 1);
  672|  31.8k|            static_assert(upx::min(one, U(4)) == 1);
  673|  31.8k|            static_assert(upx::max(one, four) == 4);
  674|  31.8k|            static_assert(upx::max(one, four) == four);
  675|  31.8k|            static_assert(upx::max(U(1), four) == 4);
  676|  31.8k|            static_assert(upx::max(one, U(4)) == 4);
  677|  31.8k|            static_assert(upx::align_down(one, four) == 0);
  678|  31.8k|            static_assert(upx::align_up(one, four) == 4);
  679|  31.8k|            static_assert(upx::align_up(one, four) == four);
  680|  31.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  31.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  31.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  31.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  31.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  31.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  31.8k|            constexpr T one_copy = T::make(one);
  691|  31.8k|            static_assert(one_copy == one);
  692|  31.8k|            static_assert(one_copy == 1);
  693|  31.8k|        }
  694|  31.8k|#endif
  695|  31.8k|        return true;
  696|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|      0|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|      0|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E6checkUIS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E6checkUIKS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE16E5checkEv:
  498|  31.8k|    static noinline void check() noexcept {
  499|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  31.8k|        struct alignas(1) Test1 final {
  501|  31.8k|            char a;
  502|  31.8k|            T b;
  503|  31.8k|        };
  504|  31.8k|        struct alignas(1) Test2 final {
  505|  31.8k|            char a;
  506|  31.8k|            T b[3];
  507|  31.8k|        };
  508|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  31.8k|        Test1 t1[7];
  511|  31.8k|        Test2 t2[7];
  512|  31.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  31.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  31.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  31.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  31.8k|        UNUSED(t1);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  31.8k|        UNUSED(t2);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE32E4testEv:
  526|  31.8k|    static noinline bool test() noexcept {
  527|  31.8k|        CheckIntegral<T>::check();
  528|  31.8k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  31.8k|        {
  531|  31.8k|            T all_bits = {}; // == zero
  532|  31.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  31.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  31.8k|            v1 = 1;
  540|  31.8k|            v1 *= 4;
  541|  31.8k|            v1 /= 2;
  542|  31.8k|            v1 -= 1;
  543|  31.8k|            T v2;
  544|  31.8k|            v2 = 1;
  545|  31.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  31.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  31.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  31.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  31.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  31.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  31.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  31.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  31.8k|            v1 |= v2;
  563|  31.8k|            v1 >>= 1;
  564|  31.8k|            v2 &= v1;
  565|  31.8k|            v2 /= v1;
  566|  31.8k|            v2 *= v1;
  567|  31.8k|            v1 += v2;
  568|  31.8k|            v1 -= v2;
  569|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  31.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 31.8k]
  ------------------
  572|      0|                return false;
  573|  31.8k|        }
  574|       |        // min/max
  575|  31.8k|        {
  576|  31.8k|            constexpr T a = {}; // == zero
  577|  31.8k|            typedef typename T::integral_conversion_type U;
  578|  31.8k|            constexpr U b = 1;
  579|  31.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  31.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  31.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  31.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  31.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  31.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  31.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  31.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  31.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  31.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  31.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  31.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  31.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  31.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  31.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  31.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  31.8k|            T minus_one_t = {}, minus_two_t = {};
  596|  31.8k|            minus_one_t -= 1;
  597|  31.8k|            minus_two_t -= 2;
  598|  31.8k|            const U minus_one_u = minus_one_t;
  599|  31.8k|            const U minus_two_u = minus_two_t;
  600|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  31.8k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  31.8k|            constexpr T zero = {};
  640|  31.8k|            constexpr T zero_copy = T::make(zero);
  641|  31.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  31.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  31.8k|            static_assert(zero_copy == zero);
  646|  31.8k|            static_assert(!upx::has_single_bit(zero));
  647|  31.8k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  31.8k|#endif
  649|  31.8k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  31.8k|            typedef typename T::integral_conversion_type U;
  653|  31.8k|            constexpr T one = T::make(1);
  654|  31.8k|            static_assert(one == 1);
  655|  31.8k|            static_assert(upx::has_single_bit(one));
  656|  31.8k|            constexpr T four = T::make(one + 3);
  657|  31.8k|            static_assert(four == 4);
  658|  31.8k|            static_assert(upx::has_single_bit(four));
  659|  31.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  31.8k|            constexpr T all_bits = T::make(all_bits_u);
  661|  31.8k|            static_assert(all_bits == all_bits_u);
  662|  31.8k|            static_assert(all_bits == T::make(one - 2));
  663|  31.8k|            static_assert(!upx::has_single_bit(all_bits));
  664|  31.8k|            static_assert(one == one);
  665|  31.8k|            static_assert(!(one == four));
  666|  31.8k|            static_assert(!(one == all_bits));
  667|  31.8k|            static_assert(one < four);
  668|  31.8k|            static_assert(one < all_bits);
  669|  31.8k|            static_assert(upx::min(one, four) == 1);
  670|  31.8k|            static_assert(upx::min(one, four) == one);
  671|  31.8k|            static_assert(upx::min(U(1), four) == 1);
  672|  31.8k|            static_assert(upx::min(one, U(4)) == 1);
  673|  31.8k|            static_assert(upx::max(one, four) == 4);
  674|  31.8k|            static_assert(upx::max(one, four) == four);
  675|  31.8k|            static_assert(upx::max(U(1), four) == 4);
  676|  31.8k|            static_assert(upx::max(one, U(4)) == 4);
  677|  31.8k|            static_assert(upx::align_down(one, four) == 0);
  678|  31.8k|            static_assert(upx::align_up(one, four) == 4);
  679|  31.8k|            static_assert(upx::align_up(one, four) == four);
  680|  31.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  31.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  31.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  31.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  31.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  31.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  31.8k|            constexpr T one_copy = T::make(one);
  691|  31.8k|            static_assert(one_copy == one);
  692|  31.8k|            static_assert(one_copy == 1);
  693|  31.8k|        }
  694|  31.8k|#endif
  695|  31.8k|        return true;
  696|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|      0|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|      0|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E6checkUIS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E6checkUIKS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE32E5checkEv:
  498|  31.8k|    static noinline void check() noexcept {
  499|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  31.8k|        struct alignas(1) Test1 final {
  501|  31.8k|            char a;
  502|  31.8k|            T b;
  503|  31.8k|        };
  504|  31.8k|        struct alignas(1) Test2 final {
  505|  31.8k|            char a;
  506|  31.8k|            T b[3];
  507|  31.8k|        };
  508|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  31.8k|        Test1 t1[7];
  511|  31.8k|        Test2 t2[7];
  512|  31.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  31.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  31.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  31.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  31.8k|        UNUSED(t1);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  31.8k|        UNUSED(t2);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE64E4testEv:
  526|  31.8k|    static noinline bool test() noexcept {
  527|  31.8k|        CheckIntegral<T>::check();
  528|  31.8k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  31.8k|        {
  531|  31.8k|            T all_bits = {}; // == zero
  532|  31.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  31.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  31.8k|            v1 = 1;
  540|  31.8k|            v1 *= 4;
  541|  31.8k|            v1 /= 2;
  542|  31.8k|            v1 -= 1;
  543|  31.8k|            T v2;
  544|  31.8k|            v2 = 1;
  545|  31.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  31.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  31.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  31.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  31.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  31.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  31.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  31.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  31.8k|            v1 |= v2;
  563|  31.8k|            v1 >>= 1;
  564|  31.8k|            v2 &= v1;
  565|  31.8k|            v2 /= v1;
  566|  31.8k|            v2 *= v1;
  567|  31.8k|            v1 += v2;
  568|  31.8k|            v1 -= v2;
  569|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  31.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 31.8k]
  ------------------
  572|      0|                return false;
  573|  31.8k|        }
  574|       |        // min/max
  575|  31.8k|        {
  576|  31.8k|            constexpr T a = {}; // == zero
  577|  31.8k|            typedef typename T::integral_conversion_type U;
  578|  31.8k|            constexpr U b = 1;
  579|  31.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  31.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  31.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  31.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  31.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  31.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  31.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  31.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  31.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  31.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  31.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  31.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  31.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  31.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  31.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  31.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  31.8k|            T minus_one_t = {}, minus_two_t = {};
  596|  31.8k|            minus_one_t -= 1;
  597|  31.8k|            minus_two_t -= 2;
  598|  31.8k|            const U minus_one_u = minus_one_t;
  599|  31.8k|            const U minus_two_u = minus_two_t;
  600|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  31.8k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  31.8k|            constexpr T zero = {};
  640|  31.8k|            constexpr T zero_copy = T::make(zero);
  641|  31.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  31.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  31.8k|            static_assert(zero_copy == zero);
  646|  31.8k|            static_assert(!upx::has_single_bit(zero));
  647|  31.8k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  31.8k|#endif
  649|  31.8k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  31.8k|            typedef typename T::integral_conversion_type U;
  653|  31.8k|            constexpr T one = T::make(1);
  654|  31.8k|            static_assert(one == 1);
  655|  31.8k|            static_assert(upx::has_single_bit(one));
  656|  31.8k|            constexpr T four = T::make(one + 3);
  657|  31.8k|            static_assert(four == 4);
  658|  31.8k|            static_assert(upx::has_single_bit(four));
  659|  31.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  31.8k|            constexpr T all_bits = T::make(all_bits_u);
  661|  31.8k|            static_assert(all_bits == all_bits_u);
  662|  31.8k|            static_assert(all_bits == T::make(one - 2));
  663|  31.8k|            static_assert(!upx::has_single_bit(all_bits));
  664|  31.8k|            static_assert(one == one);
  665|  31.8k|            static_assert(!(one == four));
  666|  31.8k|            static_assert(!(one == all_bits));
  667|  31.8k|            static_assert(one < four);
  668|  31.8k|            static_assert(one < all_bits);
  669|  31.8k|            static_assert(upx::min(one, four) == 1);
  670|  31.8k|            static_assert(upx::min(one, four) == one);
  671|  31.8k|            static_assert(upx::min(U(1), four) == 1);
  672|  31.8k|            static_assert(upx::min(one, U(4)) == 1);
  673|  31.8k|            static_assert(upx::max(one, four) == 4);
  674|  31.8k|            static_assert(upx::max(one, four) == four);
  675|  31.8k|            static_assert(upx::max(U(1), four) == 4);
  676|  31.8k|            static_assert(upx::max(one, U(4)) == 4);
  677|  31.8k|            static_assert(upx::align_down(one, four) == 0);
  678|  31.8k|            static_assert(upx::align_up(one, four) == 4);
  679|  31.8k|            static_assert(upx::align_up(one, four) == four);
  680|  31.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  31.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  31.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  31.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  31.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  31.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  31.8k|            constexpr T one_copy = T::make(one);
  691|  31.8k|            static_assert(one_copy == one);
  692|  31.8k|            static_assert(one_copy == 1);
  693|  31.8k|        }
  694|  31.8k|#endif
  695|  31.8k|        return true;
  696|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|      0|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|      0|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E6checkUIS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E6checkUIKS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE64E5checkEv:
  498|  31.8k|    static noinline void check() noexcept {
  499|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  31.8k|        struct alignas(1) Test1 final {
  501|  31.8k|            char a;
  502|  31.8k|            T b;
  503|  31.8k|        };
  504|  31.8k|        struct alignas(1) Test2 final {
  505|  31.8k|            char a;
  506|  31.8k|            T b[3];
  507|  31.8k|        };
  508|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  31.8k|        Test1 t1[7];
  511|  31.8k|        Test2 t2[7];
  512|  31.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  31.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  31.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  31.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  31.8k|        UNUSED(t1);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  31.8k|        UNUSED(t2);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE16E4testEv:
  526|  31.8k|    static noinline bool test() noexcept {
  527|  31.8k|        CheckIntegral<T>::check();
  528|  31.8k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  31.8k|        {
  531|  31.8k|            T all_bits = {}; // == zero
  532|  31.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  31.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  31.8k|            v1 = 1;
  540|  31.8k|            v1 *= 4;
  541|  31.8k|            v1 /= 2;
  542|  31.8k|            v1 -= 1;
  543|  31.8k|            T v2;
  544|  31.8k|            v2 = 1;
  545|  31.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  31.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  31.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  31.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  31.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  31.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  31.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  31.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  31.8k|            v1 |= v2;
  563|  31.8k|            v1 >>= 1;
  564|  31.8k|            v2 &= v1;
  565|  31.8k|            v2 /= v1;
  566|  31.8k|            v2 *= v1;
  567|  31.8k|            v1 += v2;
  568|  31.8k|            v1 -= v2;
  569|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  31.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 31.8k]
  ------------------
  572|      0|                return false;
  573|  31.8k|        }
  574|       |        // min/max
  575|  31.8k|        {
  576|  31.8k|            constexpr T a = {}; // == zero
  577|  31.8k|            typedef typename T::integral_conversion_type U;
  578|  31.8k|            constexpr U b = 1;
  579|  31.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  31.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  31.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  31.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  31.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  31.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  31.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  31.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  31.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  31.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  31.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  31.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  31.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  31.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  31.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  31.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  31.8k|            T minus_one_t = {}, minus_two_t = {};
  596|  31.8k|            minus_one_t -= 1;
  597|  31.8k|            minus_two_t -= 2;
  598|  31.8k|            const U minus_one_u = minus_one_t;
  599|  31.8k|            const U minus_two_u = minus_two_t;
  600|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  31.8k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  31.8k|            constexpr T zero = {};
  640|  31.8k|            constexpr T zero_copy = T::make(zero);
  641|  31.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  31.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  31.8k|            static_assert(zero_copy == zero);
  646|  31.8k|            static_assert(!upx::has_single_bit(zero));
  647|  31.8k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  31.8k|#endif
  649|  31.8k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  31.8k|            typedef typename T::integral_conversion_type U;
  653|  31.8k|            constexpr T one = T::make(1);
  654|  31.8k|            static_assert(one == 1);
  655|  31.8k|            static_assert(upx::has_single_bit(one));
  656|  31.8k|            constexpr T four = T::make(one + 3);
  657|  31.8k|            static_assert(four == 4);
  658|  31.8k|            static_assert(upx::has_single_bit(four));
  659|  31.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  31.8k|            constexpr T all_bits = T::make(all_bits_u);
  661|  31.8k|            static_assert(all_bits == all_bits_u);
  662|  31.8k|            static_assert(all_bits == T::make(one - 2));
  663|  31.8k|            static_assert(!upx::has_single_bit(all_bits));
  664|  31.8k|            static_assert(one == one);
  665|  31.8k|            static_assert(!(one == four));
  666|  31.8k|            static_assert(!(one == all_bits));
  667|  31.8k|            static_assert(one < four);
  668|  31.8k|            static_assert(one < all_bits);
  669|  31.8k|            static_assert(upx::min(one, four) == 1);
  670|  31.8k|            static_assert(upx::min(one, four) == one);
  671|  31.8k|            static_assert(upx::min(U(1), four) == 1);
  672|  31.8k|            static_assert(upx::min(one, U(4)) == 1);
  673|  31.8k|            static_assert(upx::max(one, four) == 4);
  674|  31.8k|            static_assert(upx::max(one, four) == four);
  675|  31.8k|            static_assert(upx::max(U(1), four) == 4);
  676|  31.8k|            static_assert(upx::max(one, U(4)) == 4);
  677|  31.8k|            static_assert(upx::align_down(one, four) == 0);
  678|  31.8k|            static_assert(upx::align_up(one, four) == 4);
  679|  31.8k|            static_assert(upx::align_up(one, four) == four);
  680|  31.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  31.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  31.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  31.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  31.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  31.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  31.8k|            constexpr T one_copy = T::make(one);
  691|  31.8k|            static_assert(one_copy == one);
  692|  31.8k|            static_assert(one_copy == 1);
  693|  31.8k|        }
  694|  31.8k|#endif
  695|  31.8k|        return true;
  696|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|      0|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|      0|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E6checkUIS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E6checkUIKS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE16E5checkEv:
  498|  31.8k|    static noinline void check() noexcept {
  499|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  31.8k|        struct alignas(1) Test1 final {
  501|  31.8k|            char a;
  502|  31.8k|            T b;
  503|  31.8k|        };
  504|  31.8k|        struct alignas(1) Test2 final {
  505|  31.8k|            char a;
  506|  31.8k|            T b[3];
  507|  31.8k|        };
  508|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  31.8k|        Test1 t1[7];
  511|  31.8k|        Test2 t2[7];
  512|  31.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  31.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  31.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  31.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  31.8k|        UNUSED(t1);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  31.8k|        UNUSED(t2);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE32E4testEv:
  526|  31.8k|    static noinline bool test() noexcept {
  527|  31.8k|        CheckIntegral<T>::check();
  528|  31.8k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  31.8k|        {
  531|  31.8k|            T all_bits = {}; // == zero
  532|  31.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  31.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  31.8k|            v1 = 1;
  540|  31.8k|            v1 *= 4;
  541|  31.8k|            v1 /= 2;
  542|  31.8k|            v1 -= 1;
  543|  31.8k|            T v2;
  544|  31.8k|            v2 = 1;
  545|  31.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  31.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  31.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  31.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  31.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  31.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  31.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  31.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  31.8k|            v1 |= v2;
  563|  31.8k|            v1 >>= 1;
  564|  31.8k|            v2 &= v1;
  565|  31.8k|            v2 /= v1;
  566|  31.8k|            v2 *= v1;
  567|  31.8k|            v1 += v2;
  568|  31.8k|            v1 -= v2;
  569|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  31.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 31.8k]
  ------------------
  572|      0|                return false;
  573|  31.8k|        }
  574|       |        // min/max
  575|  31.8k|        {
  576|  31.8k|            constexpr T a = {}; // == zero
  577|  31.8k|            typedef typename T::integral_conversion_type U;
  578|  31.8k|            constexpr U b = 1;
  579|  31.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  31.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  31.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  31.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  31.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  31.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  31.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  31.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  31.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  31.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  31.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  31.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  31.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  31.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  31.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  31.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  31.8k|            T minus_one_t = {}, minus_two_t = {};
  596|  31.8k|            minus_one_t -= 1;
  597|  31.8k|            minus_two_t -= 2;
  598|  31.8k|            const U minus_one_u = minus_one_t;
  599|  31.8k|            const U minus_two_u = minus_two_t;
  600|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  31.8k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  31.8k|            constexpr T zero = {};
  640|  31.8k|            constexpr T zero_copy = T::make(zero);
  641|  31.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  31.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  31.8k|            static_assert(zero_copy == zero);
  646|  31.8k|            static_assert(!upx::has_single_bit(zero));
  647|  31.8k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  31.8k|#endif
  649|  31.8k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  31.8k|            typedef typename T::integral_conversion_type U;
  653|  31.8k|            constexpr T one = T::make(1);
  654|  31.8k|            static_assert(one == 1);
  655|  31.8k|            static_assert(upx::has_single_bit(one));
  656|  31.8k|            constexpr T four = T::make(one + 3);
  657|  31.8k|            static_assert(four == 4);
  658|  31.8k|            static_assert(upx::has_single_bit(four));
  659|  31.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  31.8k|            constexpr T all_bits = T::make(all_bits_u);
  661|  31.8k|            static_assert(all_bits == all_bits_u);
  662|  31.8k|            static_assert(all_bits == T::make(one - 2));
  663|  31.8k|            static_assert(!upx::has_single_bit(all_bits));
  664|  31.8k|            static_assert(one == one);
  665|  31.8k|            static_assert(!(one == four));
  666|  31.8k|            static_assert(!(one == all_bits));
  667|  31.8k|            static_assert(one < four);
  668|  31.8k|            static_assert(one < all_bits);
  669|  31.8k|            static_assert(upx::min(one, four) == 1);
  670|  31.8k|            static_assert(upx::min(one, four) == one);
  671|  31.8k|            static_assert(upx::min(U(1), four) == 1);
  672|  31.8k|            static_assert(upx::min(one, U(4)) == 1);
  673|  31.8k|            static_assert(upx::max(one, four) == 4);
  674|  31.8k|            static_assert(upx::max(one, four) == four);
  675|  31.8k|            static_assert(upx::max(U(1), four) == 4);
  676|  31.8k|            static_assert(upx::max(one, U(4)) == 4);
  677|  31.8k|            static_assert(upx::align_down(one, four) == 0);
  678|  31.8k|            static_assert(upx::align_up(one, four) == 4);
  679|  31.8k|            static_assert(upx::align_up(one, four) == four);
  680|  31.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  31.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  31.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  31.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  31.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  31.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  31.8k|            constexpr T one_copy = T::make(one);
  691|  31.8k|            static_assert(one_copy == one);
  692|  31.8k|            static_assert(one_copy == 1);
  693|  31.8k|        }
  694|  31.8k|#endif
  695|  31.8k|        return true;
  696|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|      0|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|      0|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E6checkUIS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E6checkUIKS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE32E5checkEv:
  498|  31.8k|    static noinline void check() noexcept {
  499|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  31.8k|        struct alignas(1) Test1 final {
  501|  31.8k|            char a;
  502|  31.8k|            T b;
  503|  31.8k|        };
  504|  31.8k|        struct alignas(1) Test2 final {
  505|  31.8k|            char a;
  506|  31.8k|            T b[3];
  507|  31.8k|        };
  508|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  31.8k|        Test1 t1[7];
  511|  31.8k|        Test2 t2[7];
  512|  31.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  31.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  31.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  31.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  31.8k|        UNUSED(t1);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  31.8k|        UNUSED(t2);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE64E4testEv:
  526|  31.8k|    static noinline bool test() noexcept {
  527|  31.8k|        CheckIntegral<T>::check();
  528|  31.8k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  31.8k|        {
  531|  31.8k|            T all_bits = {}; // == zero
  532|  31.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  31.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  31.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  31.8k|            v1 = 1;
  540|  31.8k|            v1 *= 4;
  541|  31.8k|            v1 /= 2;
  542|  31.8k|            v1 -= 1;
  543|  31.8k|            T v2;
  544|  31.8k|            v2 = 1;
  545|  31.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  31.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  31.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  31.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  31.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  31.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  31.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  31.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  31.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  31.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  31.8k|            v1 |= v2;
  563|  31.8k|            v1 >>= 1;
  564|  31.8k|            v2 &= v1;
  565|  31.8k|            v2 /= v1;
  566|  31.8k|            v2 *= v1;
  567|  31.8k|            v1 += v2;
  568|  31.8k|            v1 -= v2;
  569|  31.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  31.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  31.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 31.8k]
  ------------------
  572|      0|                return false;
  573|  31.8k|        }
  574|       |        // min/max
  575|  31.8k|        {
  576|  31.8k|            constexpr T a = {}; // == zero
  577|  31.8k|            typedef typename T::integral_conversion_type U;
  578|  31.8k|            constexpr U b = 1;
  579|  31.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  31.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  31.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  31.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  31.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  31.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  31.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  31.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  31.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  31.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  31.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  31.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  31.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  31.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  31.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  31.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  31.8k|            T minus_one_t = {}, minus_two_t = {};
  596|  31.8k|            minus_one_t -= 1;
  597|  31.8k|            minus_two_t -= 2;
  598|  31.8k|            const U minus_one_u = minus_one_t;
  599|  31.8k|            const U minus_two_u = minus_two_t;
  600|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  31.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  31.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  31.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  31.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  31.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  31.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  31.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  31.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  31.8k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  31.8k|            constexpr T zero = {};
  640|  31.8k|            constexpr T zero_copy = T::make(zero);
  641|  31.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  31.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  31.8k|            static_assert(zero_copy == zero);
  646|  31.8k|            static_assert(!upx::has_single_bit(zero));
  647|  31.8k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  31.8k|#endif
  649|  31.8k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  31.8k|            typedef typename T::integral_conversion_type U;
  653|  31.8k|            constexpr T one = T::make(1);
  654|  31.8k|            static_assert(one == 1);
  655|  31.8k|            static_assert(upx::has_single_bit(one));
  656|  31.8k|            constexpr T four = T::make(one + 3);
  657|  31.8k|            static_assert(four == 4);
  658|  31.8k|            static_assert(upx::has_single_bit(four));
  659|  31.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  31.8k|            constexpr T all_bits = T::make(all_bits_u);
  661|  31.8k|            static_assert(all_bits == all_bits_u);
  662|  31.8k|            static_assert(all_bits == T::make(one - 2));
  663|  31.8k|            static_assert(!upx::has_single_bit(all_bits));
  664|  31.8k|            static_assert(one == one);
  665|  31.8k|            static_assert(!(one == four));
  666|  31.8k|            static_assert(!(one == all_bits));
  667|  31.8k|            static_assert(one < four);
  668|  31.8k|            static_assert(one < all_bits);
  669|  31.8k|            static_assert(upx::min(one, four) == 1);
  670|  31.8k|            static_assert(upx::min(one, four) == one);
  671|  31.8k|            static_assert(upx::min(U(1), four) == 1);
  672|  31.8k|            static_assert(upx::min(one, U(4)) == 1);
  673|  31.8k|            static_assert(upx::max(one, four) == 4);
  674|  31.8k|            static_assert(upx::max(one, four) == four);
  675|  31.8k|            static_assert(upx::max(U(1), four) == 4);
  676|  31.8k|            static_assert(upx::max(one, U(4)) == 4);
  677|  31.8k|            static_assert(upx::align_down(one, four) == 0);
  678|  31.8k|            static_assert(upx::align_up(one, four) == 4);
  679|  31.8k|            static_assert(upx::align_up(one, four) == four);
  680|  31.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  31.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  31.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  31.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  31.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  31.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  31.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  31.8k|            constexpr T one_copy = T::make(one);
  691|  31.8k|            static_assert(one_copy == one);
  692|  31.8k|            static_assert(one_copy == 1);
  693|  31.8k|        }
  694|  31.8k|#endif
  695|  31.8k|        return true;
  696|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E5checkEv:
  458|  31.8k|    static noinline void check() noexcept {
  459|  31.8k|        check_core();
  460|  31.8k|        {
  461|  31.8k|            T zero, one, three, four;
  462|  31.8k|            zero = 0;
  463|  31.8k|            one = 1;
  464|  31.8k|            three = 3;
  465|  31.8k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  31.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  31.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  31.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  31.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  31.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  31.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  31.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  31.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  31.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  31.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  31.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  31.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  31.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  31.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  31.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  31.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  31.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  31.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  31.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  31.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  31.8k|        }
  493|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E10check_coreEv:
  417|  31.8k|    static noinline void check_core() noexcept {
  418|  31.8k|        checkU<T>();
  419|  31.8k|        checkU<typename std::add_const<T>::type>();
  420|  31.8k|        {
  421|  31.8k|            TestT t = {};
  422|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  31.8k|        }
  425|      0|        {
  426|  31.8k|            const TestT t = {};
  427|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  31.8k|        }
  430|      0|        {
  431|  31.8k|            constexpr TestT t = {};
  432|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  31.8k|        }
  435|      0|        {
  436|  31.8k|            TestT t;
  437|  31.8k|            mem_clear(&t);
  438|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  31.8k|        }
  441|      0|        {
  442|  31.8k|            T zero, one, three, four;
  443|  31.8k|            zero = 0;
  444|  31.8k|            one = 1;
  445|  31.8k|            three = 3;
  446|  31.8k|            four = 4;
  447|  31.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  31.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  31.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  31.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  31.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  31.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  31.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  31.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  31.8k|        }
  457|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E6checkUIS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E6checkUIKS1_EEvv:
  373|  31.8k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  31.8k|        static_assert(upx_is_integral<U>::value);
  376|  31.8k|        static_assert(upx_is_integral_v<U>);
  377|  31.8k|#if __cplusplus <= 201703L
  378|  31.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  31.8k|#endif
  380|  31.8k|        static_assert(std::is_standard_layout<U>::value);
  381|  31.8k|#if __cplusplus <= 202302L
  382|  31.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  31.8k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  31.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  31.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  31.8k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  31.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  31.8k|        {
  390|  31.8k|            U a = {};
  391|  31.8k|            const U b = {};
  392|  31.8k|            constexpr U c = {};
  393|  31.8k|            U x[2] = {};
  394|  31.8k|            const U y[2] = {};
  395|  31.8k|            constexpr U z[2] = {};
  396|  31.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  31.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  31.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  31.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  31.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  31.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  31.8k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  31.8k|#endif
  406|  31.8k|        }
  407|      0|        {
  408|  31.8k|            TestU<U> t;
  409|  31.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  31.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  31.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  31.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  31.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  31.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  31.8k|        }
  416|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE64E5checkEv:
  498|  31.8k|    static noinline void check() noexcept {
  499|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  31.8k|        struct alignas(1) Test1 final {
  501|  31.8k|            char a;
  502|  31.8k|            T b;
  503|  31.8k|        };
  504|  31.8k|        struct alignas(1) Test2 final {
  505|  31.8k|            char a;
  506|  31.8k|            T b[3];
  507|  31.8k|        };
  508|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  31.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  449|  31.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  31.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  31.8k|    {                                                                                              \
  |  |  |  |  |  |  432|  31.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  31.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  31.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  31.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  31.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  31.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  31.8k|        };                                                                                         \
  |  |  |  |  |  |  439|  31.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  31.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  31.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  31.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  31.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  31.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  31.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  31.8k|        Test1 t1[7];
  511|  31.8k|        Test2 t2[7];
  512|  31.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  31.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  31.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  31.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  31.8k|        UNUSED(t1);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  31.8k|        UNUSED(t2);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIs4BE32EEbPT_PT0_:
  751|  31.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  31.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIs4BE32E4testEPsPS1_:
  743|  31.8k|    static noinline bool test(A *a, B *b) noexcept {
  744|  31.8k|        *a = 0;
  745|  31.8k|        *b = 0;
  746|  31.8k|        *b -= 3;
  747|  31.8k|        return *a != 0;
  748|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIs4LE32EEbPT_PT0_:
  751|  31.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  31.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIs4LE32E4testEPsPS1_:
  743|  31.8k|    static noinline bool test(A *a, B *b) noexcept {
  744|  31.8k|        *a = 0;
  745|  31.8k|        *b = 0;
  746|  31.8k|        *b -= 3;
  747|  31.8k|        return *a != 0;
  748|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIi4BE64EEbPT_PT0_:
  751|  31.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  31.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIi4BE64E4testEPiPS1_:
  743|  31.8k|    static noinline bool test(A *a, B *b) noexcept {
  744|  31.8k|        *a = 0;
  745|  31.8k|        *b = 0;
  746|  31.8k|        *b -= 3;
  747|  31.8k|        return *a != 0;
  748|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIi4LE64EEbPT_PT0_:
  751|  31.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  31.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIi4LE64E4testEPiPS1_:
  743|  31.8k|    static noinline bool test(A *a, B *b) noexcept {
  744|  31.8k|        *a = 0;
  745|  31.8k|        *b = 0;
  746|  31.8k|        *b -= 3;
  747|  31.8k|        return *a != 0;
  748|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIsiEEbPT_PT0_:
  751|  31.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  31.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIsiE4testEPsPi:
  743|  31.8k|    static noinline bool test(A *a, B *b) noexcept {
  744|  31.8k|        *a = 0;
  745|  31.8k|        *b = 0;
  746|  31.8k|        *b -= 3;
  747|  31.8k|        return *a != 0;
  748|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIilEEbPT_PT0_:
  751|  31.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  31.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIilE4testEPiPl:
  743|  31.8k|    static noinline bool test(A *a, B *b) noexcept {
  744|  31.8k|        *a = 0;
  745|  31.8k|        *b = 0;
  746|  31.8k|        *b -= 3;
  747|  31.8k|        return *a != 0;
  748|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIixEEbPT_PT0_:
  751|  31.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  31.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIixE4testEPiPx:
  743|  31.8k|    static noinline bool test(A *a, B *b) noexcept {
  744|  31.8k|        *a = 0;
  745|  31.8k|        *b = 0;
  746|  31.8k|        *b -= 3;
  747|  31.8k|        return *a != 0;
  748|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIlxEEbPT_PT0_:
  751|  31.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  31.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  31.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIlxE4testEPlPx:
  743|  31.8k|    static noinline bool test(A *a, B *b) noexcept {
  744|  31.8k|        *a = 0;
  745|  31.8k|        *b = 0;
  746|  31.8k|        *b -= 3;
  747|  31.8k|        return *a != 0;
  748|  31.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6inc_gtEj:
  757|  63.7k|    static inline bool inc_gt(const T x) noexcept { return x + 1 > x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6dec_ltEj:
  758|  63.7k|    static inline bool dec_lt(const T x) noexcept { return x - 1 < x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6neg_eqEj:
  759|  95.6k|    static inline bool neg_eq(const T x) noexcept { return T(T(0) - x) == x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6inc_gtEi:
  757|  63.7k|    static inline bool inc_gt(const T x) noexcept { return x + 1 > x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6dec_ltEi:
  758|  63.7k|    static inline bool dec_lt(const T x) noexcept { return x - 1 < x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6neg_eqEi:
  759|   127k|    static inline bool neg_eq(const T x) noexcept { return T(T(0) - x) == x; }

dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  163|  15.9k|TEST_CASE("xspan codegen") {
  164|       |    // typedef byte T;
  165|  15.9k|    typedef int T;
  166|  15.9k|    T buf[4] = {0, 1, 2, 3};
  167|  15.9k|    const size_t bytes = acc_vget_acc_hsize_t(sizeof(buf), 0);
  168|  15.9k|    {
  169|  15.9k|        auto r = TestXSpanCG<T>::make_span_0_0(buf, bytes);
  170|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  171|  15.9k|    }
  172|  15.9k|    {
  173|  15.9k|        auto r = TestXSpanCG<T>::make_span_p_0(buf, bytes);
  174|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|  15.9k|    }
  176|  15.9k|    {
  177|  15.9k|        auto r = TestXSpanCG<T>::make_span_s_0(buf, bytes);
  178|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  179|  15.9k|    }
  180|  15.9k|    {
  181|  15.9k|        auto r = TestXSpanCG<T>::make_span_0_p(buf, bytes);
  182|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  183|  15.9k|    }
  184|  15.9k|    {
  185|  15.9k|        auto r = TestXSpanCG<T>::make_span_p_p(buf, bytes);
  186|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  187|  15.9k|    }
  188|  15.9k|    {
  189|  15.9k|        auto r = TestXSpanCG<T>::make_span_s_p(buf, bytes);
  190|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  191|  15.9k|    }
  192|  15.9k|    {
  193|  15.9k|        auto r = TestXSpanCG<T>::make_span_0_s(buf, bytes);
  194|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  195|  15.9k|    }
  196|  15.9k|    {
  197|  15.9k|        auto r = TestXSpanCG<T>::make_span_p_s(buf, bytes);
  198|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  199|  15.9k|    }
  200|  15.9k|    {
  201|  15.9k|        auto r = TestXSpanCG<T>::make_span_s_s(buf, bytes);
  202|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  15.9k|    }
  204|  15.9k|    {
  205|  15.9k|        auto r = TestXSpanCG<T>::var_span_0(buf, bytes);
  206|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  207|  15.9k|    }
  208|  15.9k|    {
  209|  15.9k|        auto r = TestXSpanCG<T>::var_span_p(buf, bytes);
  210|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  211|  15.9k|    }
  212|  15.9k|    {
  213|  15.9k|        auto r = TestXSpanCG<T>::var_span_s(buf, bytes);
  214|  15.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  215|  15.9k|    }
  216|  15.9k|    {
  217|  15.9k|        auto r = TestXSpanCG<T>::type_cast_0(buf, bytes);
  218|  15.9k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  219|  15.9k|    }
  220|  15.9k|    {
  221|  15.9k|        auto r = TestXSpanCG<T>::type_cast_p(buf, bytes);
  222|  15.9k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  223|  15.9k|    }
  224|  15.9k|    {
  225|  15.9k|        auto r = TestXSpanCG<T>::type_cast_s(buf, bytes);
  226|  15.9k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  227|  15.9k|    }
  228|  15.9k|    {
  229|  15.9k|        auto r = TestXSpanCG<T>::invalidate_0(buf, bytes);
  230|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  231|       |        (void) r;
  232|       |#else
  233|  15.9k|        CHECK(r != buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  234|  15.9k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  235|  15.9k|#endif
  236|  15.9k|    }
  237|  15.9k|    {
  238|  15.9k|        auto r = TestXSpanCG<T>::invalidate_p(buf, bytes);
  239|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  240|       |        (void) r;
  241|       |#else
  242|  15.9k|        CHECK(r != buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  243|  15.9k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  244|  15.9k|#endif
  245|  15.9k|    }
  246|  15.9k|    {
  247|  15.9k|        auto r = TestXSpanCG<T>::invalidate_s(buf, bytes);
  248|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  249|       |        (void) r;
  250|       |#else
  251|  15.9k|        CHECK(r != buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|  15.9k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  253|  15.9k|#endif
  254|  15.9k|    }
  255|  15.9k|    {
  256|  15.9k|        auto r0 = TestXSpanCG<T>::var_span_0(buf, bytes);
  257|  15.9k|        auto r1 = TestXSpanCG<T>::var_span_0(buf + 1, bytes - sizeof(T));
  258|  15.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  259|  15.9k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  260|  15.9k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  261|  15.9k|    }
  262|  15.9k|    {
  263|  15.9k|        auto r0 = TestXSpanCG<T>::var_span_p(buf, bytes);
  264|  15.9k|        auto r1 = TestXSpanCG<T>::var_span_p(buf + 1, bytes - sizeof(T));
  265|  15.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  266|  15.9k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  267|  15.9k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|  15.9k|    }
  269|  15.9k|    {
  270|  15.9k|        auto r0 = TestXSpanCG<T>::var_span_s(buf, bytes);
  271|  15.9k|        auto r1 = TestXSpanCG<T>::var_span_s(buf + 1, bytes - sizeof(T));
  272|  15.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|  15.9k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  274|  15.9k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|  15.9k|    }
  276|  15.9k|    {
  277|  15.9k|        auto r0 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  278|  15.9k|        auto r1 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  279|  15.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|  15.9k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  281|  15.9k|    }
  282|  15.9k|    {
  283|  15.9k|        auto r0 = XSPAN_0_MAKE(const T, nullptr);
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|  15.9k|        auto r1 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|  15.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  286|  15.9k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|  15.9k|    }
  288|  15.9k|    {
  289|  15.9k|        auto r0 = XSPAN_0_MAKE(const T, nullptr);
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|  15.9k|        auto r1 = XSPAN_0_MAKE(const T, XSPAN_0_MAKE(T, nullptr));
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  291|  15.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  292|  15.9k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|  15.9k|    }
  294|  15.9k|    CHECK(TestXSpanCG<T>::make_span_0_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  295|  15.9k|    CHECK(TestXSpanCG<T>::make_span_p_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|  15.9k|    CHECK(TestXSpanCG<T>::make_span_s_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  297|  15.9k|    CHECK(TestXSpanCG<T>::make_span_0_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|  15.9k|    CHECK(TestXSpanCG<T>::make_span_p_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|  15.9k|    CHECK(TestXSpanCG<T>::make_span_s_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  300|  15.9k|    CHECK(TestXSpanCG<T>::make_span_0_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|  15.9k|    CHECK(TestXSpanCG<T>::make_span_p_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|  15.9k|    CHECK(TestXSpanCG<T>::make_span_s_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  15.9k|    CHECK(TestXSpanCG<T>::var_span_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  15.9k|    CHECK(TestXSpanCG<T>::var_span_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  305|  15.9k|    CHECK(TestXSpanCG<T>::var_span_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_0(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_p(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_s(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  309|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_const_0(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  310|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_const_p(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  311|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_const_s(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  312|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  313|       |#else
  314|  15.9k|    CHECK(TestXSpanCG<T>::invalidate_0(buf, bytes) != buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|  15.9k|    CHECK(TestXSpanCG<T>::invalidate_p(buf, bytes) != buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|  15.9k|    CHECK(TestXSpanCG<T>::invalidate_s(buf, bytes) != buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  317|  15.9k|#endif
  318|  15.9k|    (void) buf;
  319|  15.9k|    (void) bytes;
  320|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_0EPim:
   43|  31.8k|    static noinline XSPAN_0(T) make_span_0_0(T *p, size_t bytes) {
   44|  31.8k|        XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  31.8k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|  31.8k|        (void) bytes;
   46|  31.8k|        return r;
   47|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_0EPim:
   48|  31.8k|    static noinline XSPAN_P(T) make_span_p_0(T *p, size_t bytes) {
   49|  31.8k|        XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  31.8k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   50|  31.8k|        (void) bytes;
   51|  31.8k|        return r;
   52|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_0EPim:
   53|  31.8k|    static noinline XSPAN_S(T) make_span_s_0(T *p, size_t bytes) {
   54|  31.8k|        XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  31.8k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  31.8k|        (void) bytes;
   56|  31.8k|        return r;
   57|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_pEPim:
   59|  31.8k|    static noinline XSPAN_0(T) make_span_0_p(T *p, size_t bytes) {
   60|  31.8k|        XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  31.8k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   61|  31.8k|        (void) bytes;
   62|  31.8k|        return r;
   63|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_pEPim:
   64|  31.8k|    static noinline XSPAN_P(T) make_span_p_p(T *p, size_t bytes) {
   65|  31.8k|        XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  31.8k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   66|  31.8k|        (void) bytes;
   67|  31.8k|        return r;
   68|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_pEPim:
   69|  31.8k|    static noinline XSPAN_S(T) make_span_s_p(T *p, size_t bytes) {
   70|  31.8k|        XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  31.8k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   71|  31.8k|        (void) bytes;
   72|  31.8k|        return r;
   73|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_sEPim:
   75|  31.8k|    static noinline XSPAN_0(T) make_span_0_s(T *p, size_t bytes) {
   76|  31.8k|        XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  31.8k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|  31.8k|        (void) bytes;
   78|  31.8k|        return r;
   79|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_sEPim:
   80|  31.8k|    static noinline XSPAN_P(T) make_span_p_s(T *p, size_t bytes) {
   81|  31.8k|        XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  31.8k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  31.8k|        (void) bytes;
   83|  31.8k|        return r;
   84|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_sEPim:
   85|  31.8k|    static noinline XSPAN_S(T) make_span_s_s(T *p, size_t bytes) {
   86|  31.8k|        XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  31.8k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  31.8k|        (void) bytes;
   88|  31.8k|        return r;
   89|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_0EPim:
   92|  63.7k|    static noinline XSPAN_0(T) var_span_0(T *p, size_t bytes) {
   93|  63.7k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  63.7k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  63.7k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  63.7k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  63.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  63.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  63.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  63.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   94|  63.7k|        (void) bytes;
   95|  63.7k|        return r;
   96|  63.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_pEPim:
   97|  63.7k|    static noinline XSPAN_P(T) var_span_p(T *p, size_t bytes) {
   98|  63.7k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  63.7k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  63.7k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  63.7k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  63.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  63.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  63.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  63.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|  63.7k|        (void) bytes;
  100|  63.7k|        return r;
  101|  63.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_sEPim:
  102|  63.7k|    static noinline XSPAN_S(T) var_span_s(T *p, size_t bytes) {
  103|  63.7k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  63.7k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  63.7k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  63.7k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  63.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  63.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  63.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  63.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  104|  63.7k|        (void) bytes;
  105|  63.7k|        return r;
  106|  63.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_0EPim:
  109|  31.8k|    static noinline XSPAN_0(LE32) type_cast_0(T *p, size_t bytes) {
  110|  31.8k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  31.8k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  111|  31.8k|        (void) bytes;
  112|  31.8k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  31.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  113|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_pEPim:
  114|  31.8k|    static noinline XSPAN_P(LE32) type_cast_p(T *p, size_t bytes) {
  115|  31.8k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  31.8k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  116|  31.8k|        (void) bytes;
  117|  31.8k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  31.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  118|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_sEPim:
  119|  31.8k|    static noinline XSPAN_S(LE32) type_cast_s(T *p, size_t bytes) {
  120|  31.8k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  31.8k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  121|  31.8k|        (void) bytes;
  122|  31.8k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  31.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  123|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_0EPim:
  142|  31.8k|    static noinline XSPAN_0(T) invalidate_0(T *p, size_t bytes) {
  143|  31.8k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  31.8k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  31.8k|        (void) bytes;
  145|  31.8k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  31.8k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  146|  31.8k|        return r;
  147|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_pEPim:
  148|  31.8k|    static noinline XSPAN_P(T) invalidate_p(T *p, size_t bytes) {
  149|  31.8k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  31.8k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  150|  31.8k|        (void) bytes;
  151|  31.8k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  31.8k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  152|  31.8k|        return r;
  153|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_sEPim:
  154|  31.8k|    static noinline XSPAN_S(T) invalidate_s(T *p, size_t bytes) {
  155|  31.8k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  31.8k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  156|  31.8k|        (void) bytes;
  157|  31.8k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  31.8k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  158|  31.8k|        return r;
  159|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_0EPim:
  125|  15.9k|    static noinline XSPAN_0(const LE32) type_cast_const_0(T *p, size_t bytes) {
  126|  15.9k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|  15.9k|        (void) bytes;
  128|  15.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  129|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_pEPim:
  130|  15.9k|    static noinline XSPAN_P(const LE32) type_cast_const_p(T *p, size_t bytes) {
  131|  15.9k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|  15.9k|        (void) bytes;
  133|  15.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  134|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_sEPim:
  135|  15.9k|    static noinline XSPAN_S(const LE32) type_cast_const_s(T *p, size_t bytes) {
  136|  15.9k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  137|  15.9k|        (void) bytes;
  138|  15.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  139|  15.9k|    }
dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  322|  15.9k|TEST_CASE("xspan codegen const") {
  323|  15.9k|    typedef const byte T;
  324|       |    // typedef const int T;
  325|  15.9k|    T buf[4] = {0, 1, 2, 3};
  326|  15.9k|    const size_t bytes = acc_vget_acc_hsize_t(sizeof(buf), 0);
  327|  15.9k|    CHECK(TestXSpanCG<T>::make_span_0_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  328|  15.9k|    CHECK(TestXSpanCG<T>::make_span_p_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  329|  15.9k|    CHECK(TestXSpanCG<T>::make_span_s_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|  15.9k|    CHECK(TestXSpanCG<T>::make_span_0_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  331|  15.9k|    CHECK(TestXSpanCG<T>::make_span_p_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|  15.9k|    CHECK(TestXSpanCG<T>::make_span_s_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  333|  15.9k|    CHECK(TestXSpanCG<T>::make_span_0_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  15.9k|    CHECK(TestXSpanCG<T>::make_span_p_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|  15.9k|    CHECK(TestXSpanCG<T>::make_span_s_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  336|  15.9k|    CHECK(TestXSpanCG<T>::var_span_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  337|  15.9k|    CHECK(TestXSpanCG<T>::var_span_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  338|  15.9k|    CHECK(TestXSpanCG<T>::var_span_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_const_0(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  340|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_const_p(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  341|  15.9k|    CHECK(TestXSpanCG<T>::type_cast_const_s(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  342|  15.9k|    (void) buf;
  343|  15.9k|    (void) bytes;
  344|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_0EPS1_m:
   43|  15.9k|    static noinline XSPAN_0(T) make_span_0_0(T *p, size_t bytes) {
   44|  15.9k|        XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|  15.9k|        (void) bytes;
   46|  15.9k|        return r;
   47|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_0EPS1_m:
   48|  15.9k|    static noinline XSPAN_P(T) make_span_p_0(T *p, size_t bytes) {
   49|  15.9k|        XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   50|  15.9k|        (void) bytes;
   51|  15.9k|        return r;
   52|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_0EPS1_m:
   53|  15.9k|    static noinline XSPAN_S(T) make_span_s_0(T *p, size_t bytes) {
   54|  15.9k|        XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  15.9k|        (void) bytes;
   56|  15.9k|        return r;
   57|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_pEPS1_m:
   59|  15.9k|    static noinline XSPAN_0(T) make_span_0_p(T *p, size_t bytes) {
   60|  15.9k|        XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  15.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   61|  15.9k|        (void) bytes;
   62|  15.9k|        return r;
   63|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_pEPS1_m:
   64|  15.9k|    static noinline XSPAN_P(T) make_span_p_p(T *p, size_t bytes) {
   65|  15.9k|        XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  15.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   66|  15.9k|        (void) bytes;
   67|  15.9k|        return r;
   68|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_pEPS1_m:
   69|  15.9k|    static noinline XSPAN_S(T) make_span_s_p(T *p, size_t bytes) {
   70|  15.9k|        XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  15.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   71|  15.9k|        (void) bytes;
   72|  15.9k|        return r;
   73|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_sEPS1_m:
   75|  15.9k|    static noinline XSPAN_0(T) make_span_0_s(T *p, size_t bytes) {
   76|  15.9k|        XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  15.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|  15.9k|        (void) bytes;
   78|  15.9k|        return r;
   79|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_sEPS1_m:
   80|  15.9k|    static noinline XSPAN_P(T) make_span_p_s(T *p, size_t bytes) {
   81|  15.9k|        XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  15.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  15.9k|        (void) bytes;
   83|  15.9k|        return r;
   84|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_sEPS1_m:
   85|  15.9k|    static noinline XSPAN_S(T) make_span_s_s(T *p, size_t bytes) {
   86|  15.9k|        XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  15.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  15.9k|        (void) bytes;
   88|  15.9k|        return r;
   89|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_0EPS1_m:
   92|  15.9k|    static noinline XSPAN_0(T) var_span_0(T *p, size_t bytes) {
   93|  15.9k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   94|  15.9k|        (void) bytes;
   95|  15.9k|        return r;
   96|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_pEPS1_m:
   97|  15.9k|    static noinline XSPAN_P(T) var_span_p(T *p, size_t bytes) {
   98|  15.9k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|  15.9k|        (void) bytes;
  100|  15.9k|        return r;
  101|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_sEPS1_m:
  102|  15.9k|    static noinline XSPAN_S(T) var_span_s(T *p, size_t bytes) {
  103|  15.9k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  104|  15.9k|        (void) bytes;
  105|  15.9k|        return r;
  106|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_0EPS1_m:
  125|  15.9k|    static noinline XSPAN_0(const LE32) type_cast_const_0(T *p, size_t bytes) {
  126|  15.9k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|  15.9k|        (void) bytes;
  128|  15.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  129|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_pEPS1_m:
  130|  15.9k|    static noinline XSPAN_P(const LE32) type_cast_const_p(T *p, size_t bytes) {
  131|  15.9k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|  15.9k|        (void) bytes;
  133|  15.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  134|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_sEPS1_m:
  135|  15.9k|    static noinline XSPAN_S(const LE32) type_cast_const_s(T *p, size_t bytes) {
  136|  15.9k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  137|  15.9k|        (void) bytes;
  138|  15.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  139|  15.9k|    }
dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  350|  15.9k|TEST_CASE("std::vector") {
  351|  15.9k|    constexpr size_t N = 16;
  352|  15.9k|    std::vector<int> v(N);
  353|  15.9k|    CHECK(v.end() - v.begin() == N);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  354|  15.9k|    CHECK(&v[0] == &(*(v.begin())));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  355|       |    // CHECK(&v[0] + N == &(*(v.end()))); // TODO later: is this legal??
  356|       |#if defined(_LIBCPP_HARDENING_MODE) && defined(_LIBCPP_HARDENING_MODE_DEBUG) &&                    \
  357|       |    (_LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG)
  358|       |    // unfortunately this does NOT throw but ABORTS
  359|       |    ////CHECK_THROWS((void) &v[N]);
  360|       |#endif
  361|  15.9k|    UNUSED(v);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  362|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_119DOCTEST_ANON_FUNC_8Ev:
  401|  15.9k|TEST_CASE("UPX_CXX_DISABLE_xxx") {
  402|  15.9k|    MyType1<char, int, 1> dummy1;
  403|  15.9k|    MyType2<char, int, 2> dummy2;
  404|  15.9k|    MyVType1<char, int, 1> vdummy1;
  405|  15.9k|    MyVType2<char, int, 2> vdummy2;
  406|  15.9k|    (void) dummy1;
  407|  15.9k|    (void) dummy2;
  408|  15.9k|    (void) vdummy1;
  409|  15.9k|    (void) vdummy2;
  410|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_17MyType1IciLi1EEC2Ev:
  371|  15.9k|    MyType1() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_17MyType2IciLi2EEC2Ev:
  378|  15.9k|    MyType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType1IciLi1EEC2Ev:
  386|  15.9k|    MyVType1() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType2IciLi2EEC2Ev:
  394|  15.9k|    MyVType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType2IciLi2EED2Ev:
  395|  15.9k|    virtual ~MyVType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType1IciLi1EED2Ev:
  387|  15.9k|    virtual ~MyVType1() noexcept {}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  481|  15.9k|TEST_CASE("upx::noncopyable") {
  482|  15.9k|    struct Test : private upx::noncopyable {
  483|  15.9k|        int v = 1;
  484|  15.9k|    };
  485|  15.9k|    Test t = {};
  486|  15.9k|    CHECK(t.v == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  487|       |#if (ACC_CC_MSC) // MSVC thinks that Test is not std::is_trivially_copyable; true or compiler bug?
  488|       |    // @COMPILER_BUG @MSVC_BUG
  489|       |    t.v = 0;
  490|       |#else
  491|  15.9k|    mem_clear(&t);
  492|  15.9k|#endif
  493|  15.9k|    CHECK(t.v == 0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  494|  15.9k|    constexpr Test x = {};
  495|  15.9k|    static_assert(x.v == 1);
  496|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
  688|  15.9k|TEST_CASE("upx::ptr_static_cast 1") {
  689|       |    // check that we do not trigger any -Wcast-align warnings
  690|  15.9k|    using upx::ptr_static_cast;
  691|       |
  692|  15.9k|    void *vp = nullptr;
  693|  15.9k|    byte *bp = nullptr;
  694|  15.9k|    int *ip = nullptr;
  695|  15.9k|    double *dp = nullptr;
  696|       |
  697|  15.9k|    assert((vp == ptr_static_cast<void *>(vp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  698|  15.9k|    assert((vp == ptr_static_cast<void *>(bp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  699|  15.9k|    assert((vp == ptr_static_cast<void *>(ip)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  700|  15.9k|    assert((vp == ptr_static_cast<void *>(dp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  701|       |
  702|  15.9k|    assert((bp == ptr_static_cast<byte *>(vp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  703|  15.9k|    assert((bp == ptr_static_cast<byte *>(bp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  704|  15.9k|    assert((bp == ptr_static_cast<byte *>(ip)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  705|  15.9k|    assert((bp == ptr_static_cast<byte *>(dp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  706|       |
  707|  15.9k|    assert((ip == ptr_static_cast<int *>(vp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  708|  15.9k|    assert((ip == ptr_static_cast<int *>(bp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  709|  15.9k|    assert((ip == ptr_static_cast<int *>(ip)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  710|  15.9k|    assert((ip == ptr_static_cast<int *>(dp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  711|       |
  712|  15.9k|    assert((dp == ptr_static_cast<double *>(vp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  713|  15.9k|    assert((dp == ptr_static_cast<double *>(bp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  714|  15.9k|    assert((dp == ptr_static_cast<double *>(ip)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  715|  15.9k|    assert((dp == ptr_static_cast<double *>(dp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  716|       |
  717|      0|    const byte *bc = nullptr;
  718|  15.9k|    const int *ic = nullptr;
  719|  15.9k|    assert((bc == ptr_static_cast<byte *>(bp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  720|  15.9k|    assert((bc == ptr_static_cast<const byte *>(bc)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  721|  15.9k|    assert((bc == ptr_static_cast<byte *>(ip)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  722|  15.9k|    assert((bc == ptr_static_cast<const byte *>(ic)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  723|  15.9k|    assert((ic == ptr_static_cast<int *>(bp)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  724|  15.9k|    assert((ic == ptr_static_cast<const int *>(bc)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  725|  15.9k|    assert((ic == ptr_static_cast<int *>(ip)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  726|  15.9k|    assert((ic == ptr_static_cast<const int *>(ic)));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  727|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_14v:
  729|  15.9k|TEST_CASE("upx::ptr_static_cast 2") {
  730|  15.9k|    {
  731|  15.9k|        byte *n = nullptr;
  732|  15.9k|        assert_noexcept2(n == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  733|  15.9k|        assert_noexcept2(upx::ptr_static_cast<void *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  734|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const void *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  735|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  736|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  737|  15.9k|        assert_noexcept2(upx::ptr_static_cast<int *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  738|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const int *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  739|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char **>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  740|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char **>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  741|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char ***>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  742|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char ***>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  743|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  744|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  745|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  746|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  747|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char **const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  748|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char **const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  749|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  750|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  751|  15.9k|    }
  752|  15.9k|    {
  753|  15.9k|        const int *n = nullptr;
  754|  15.9k|        assert_noexcept2(n == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  755|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const void *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  756|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  757|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const int *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  758|       |        // assert_noexcept2(upx::ptr_static_cast<const char **>(n) == nullptr);
  759|       |        // assert_noexcept2(upx::ptr_static_cast<const char ***>(n) == nullptr);
  760|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  761|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  762|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  763|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char **const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  764|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char **const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  765|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  766|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  767|  15.9k|    }
  768|  15.9k|    {
  769|  15.9k|        long **n = nullptr;
  770|  15.9k|        assert_noexcept2(n == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  771|  15.9k|        assert_noexcept2(upx::ptr_static_cast<void *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  772|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const void *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  773|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  774|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  775|  15.9k|        assert_noexcept2(upx::ptr_static_cast<int *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  776|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const int *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  777|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char **>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  778|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char **>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  779|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char ***>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  780|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char ***>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  781|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  782|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  783|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  784|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  785|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char **const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  786|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char **const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  787|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  788|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  789|  15.9k|    }
  790|  15.9k|    {
  791|  15.9k|        long long *const **n = nullptr;
  792|  15.9k|        assert_noexcept2(n == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  793|  15.9k|        assert_noexcept2(upx::ptr_static_cast<void *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  794|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const void *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  795|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  796|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  797|  15.9k|        assert_noexcept2(upx::ptr_static_cast<int *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  798|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const int *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  799|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char **>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  800|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char **>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  801|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char ***>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  802|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char ***>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  803|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  804|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  805|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  806|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  807|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char **const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  808|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char **const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  809|  15.9k|        assert_noexcept2(upx::ptr_static_cast<char *const *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  810|  15.9k|        assert_noexcept2(upx::ptr_static_cast<const char *const *const *>(n) == nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  811|  15.9k|    }
  812|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_16v:
  814|  15.9k|TEST_CASE("upx::ptr_static_cast constexpr 1") {
  815|       |    // check that casts work at compile-time
  816|  15.9k|    using upx::ptr_static_cast;
  817|       |
  818|  15.9k|    constexpr void *vp = nullptr;
  819|  15.9k|    constexpr byte *bp = nullptr;
  820|  15.9k|    constexpr int *ip = nullptr;
  821|  15.9k|    constexpr double *dp = nullptr;
  822|  15.9k|    static_assert((vp == ptr_static_cast<void *>(vp)));
  823|  15.9k|    static_assert((bp == ptr_static_cast<byte *>(bp)));
  824|  15.9k|    static_assert((ip == ptr_static_cast<int *>(ip)));
  825|  15.9k|    static_assert((dp == ptr_static_cast<double *>(dp)));
  826|       |
  827|  15.9k|    constexpr const void *vc = nullptr;
  828|  15.9k|    const constexpr byte *bc = nullptr;
  829|  15.9k|    constexpr const int *ic = nullptr;
  830|  15.9k|    constexpr const double *dc = nullptr;
  831|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(vc)));
  832|  15.9k|    static_assert((bc == ptr_static_cast<const byte *>(bc)));
  833|  15.9k|    static_assert((ic == ptr_static_cast<const int *>(ic)));
  834|  15.9k|    static_assert((dc == ptr_static_cast<const double *>(dc)));
  835|       |
  836|  15.9k|    constexpr void **vpp = nullptr;
  837|  15.9k|    constexpr byte **bpp = nullptr;
  838|  15.9k|    constexpr int **ipp = nullptr;
  839|  15.9k|    constexpr double **dpp = nullptr;
  840|  15.9k|    static_assert((vpp == ptr_static_cast<void **>(vpp)));
  841|  15.9k|    static_assert((bpp == ptr_static_cast<byte **>(bpp)));
  842|  15.9k|    static_assert((ipp == ptr_static_cast<int **>(ipp)));
  843|  15.9k|    static_assert((dpp == ptr_static_cast<double **>(dpp)));
  844|       |
  845|  15.9k|    constexpr const void **vcp = nullptr;
  846|  15.9k|    const constexpr byte **bcp = nullptr;
  847|  15.9k|    constexpr const int **icp = nullptr;
  848|  15.9k|    constexpr const double **dcp = nullptr;
  849|  15.9k|    static_assert((vcp == ptr_static_cast<const void **>(vcp)));
  850|  15.9k|    static_assert((bcp == ptr_static_cast<const byte **>(bcp)));
  851|  15.9k|    static_assert((icp == ptr_static_cast<const int **>(icp)));
  852|  15.9k|    static_assert((dcp == ptr_static_cast<const double **>(dcp)));
  853|       |
  854|  15.9k|    constexpr void *const *vpc = nullptr;
  855|  15.9k|    constexpr byte *const *bpc = nullptr;
  856|  15.9k|    constexpr int *const *ipc = nullptr;
  857|  15.9k|    constexpr double *const *dpc = nullptr;
  858|  15.9k|    static_assert((vpc == ptr_static_cast<void *const *>(vpc)));
  859|  15.9k|    static_assert((bpc == ptr_static_cast<byte *const *>(bpc)));
  860|  15.9k|    static_assert((ipc == ptr_static_cast<int *const *>(ipc)));
  861|  15.9k|    static_assert((dpc == ptr_static_cast<double *const *>(dpc)));
  862|       |
  863|  15.9k|    constexpr const void *const *vcc = nullptr;
  864|  15.9k|    const constexpr byte *const *bcc = nullptr;
  865|  15.9k|    constexpr const int *const *icc = nullptr;
  866|  15.9k|    constexpr const double *const *dcc = nullptr;
  867|  15.9k|    static_assert((vcc == ptr_static_cast<const void *const *>(vcc)));
  868|  15.9k|    static_assert((bcc == ptr_static_cast<const byte *const *>(bcc)));
  869|  15.9k|    static_assert((icc == ptr_static_cast<const int *const *>(icc)));
  870|  15.9k|    static_assert((dcc == ptr_static_cast<const double *const *>(dcc)));
  871|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_18v:
  873|  15.9k|TEST_CASE("upx::ptr_static_cast constexpr 2") {
  874|       |    // check that casts work at compile-time
  875|  15.9k|    using upx::ptr_static_cast;
  876|       |
  877|  15.9k|    constexpr void *vp = nullptr;
  878|  15.9k|    constexpr byte *bp = nullptr;
  879|  15.9k|    constexpr int *ip = nullptr;
  880|  15.9k|    constexpr double *dp = nullptr;
  881|  15.9k|    static_assert((vp == static_cast<void *>(vp)));
  882|  15.9k|    static_assert((vp == static_cast<void *>(bp)));
  883|  15.9k|    static_assert((vp == static_cast<void *>(ip)));
  884|  15.9k|    static_assert((vp == static_cast<void *>(dp)));
  885|  15.9k|    static_assert((vp == ptr_static_cast<void *>(vp)));
  886|  15.9k|    static_assert((vp == ptr_static_cast<void *>(bp)));
  887|  15.9k|    static_assert((vp == ptr_static_cast<void *>(ip)));
  888|  15.9k|    static_assert((vp == ptr_static_cast<void *>(dp)));
  889|       |
  890|  15.9k|    constexpr const void *vc = nullptr;
  891|  15.9k|    const constexpr byte *bc = nullptr;
  892|  15.9k|    constexpr const int *ic = nullptr;
  893|  15.9k|    constexpr const double *dc = nullptr;
  894|  15.9k|    static_assert((vc == static_cast<const void *>(vp)));
  895|  15.9k|    static_assert((vc == static_cast<const void *>(bp)));
  896|  15.9k|    static_assert((vc == static_cast<const void *>(ip)));
  897|  15.9k|    static_assert((vc == static_cast<const void *>(dp)));
  898|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(vp)));
  899|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(dp)));
  900|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(bp)));
  901|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(ip)));
  902|  15.9k|    static_assert((vc == static_cast<const void *>(vc)));
  903|  15.9k|    static_assert((vc == static_cast<const void *>(bc)));
  904|  15.9k|    static_assert((vc == static_cast<const void *>(ic)));
  905|  15.9k|    static_assert((vc == static_cast<const void *>(dc)));
  906|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(vc)));
  907|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(dc)));
  908|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(bc)));
  909|  15.9k|    static_assert((vc == ptr_static_cast<const void *>(ic)));
  910|       |
  911|       |    // these are invalid:
  912|       |    //// constexpr char *cc1 = static_cast<char *>(bp);
  913|       |    //// constexpr char *cc2 = ptr_static_cast<char *>(bp);
  914|       |    //// constexpr unsigned *uc1 = static_cast<unsigned *>(ip);
  915|       |    //// constexpr unsigned *uc2 = ptr_static_cast<unsigned *>(ip);
  916|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_20v:
  939|  15.9k|TEST_CASE("upx::atomic_exchange") {
  940|  15.9k|    {
  941|  15.9k|        upx_uintptr_t x = (upx_uintptr_t) 0 - 1;
  942|  15.9k|        upx_uintptr_t y = upx::atomic_exchange(&x, (upx_uintptr_t) 2);
  943|  15.9k|        CHECK_EQ(x, 2);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  944|  15.9k|        CHECK_EQ(y, (upx_uintptr_t) 0 - 1);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  945|  15.9k|        UNUSED(y);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  946|  15.9k|    }
  947|  15.9k|    {
  948|  15.9k|        const int buf[2] = {101, 202};
  949|  15.9k|        const int *ptr_array[2] = {&buf[0], &buf[1]};
  950|  15.9k|        assert_noexcept(*ptr_array[0] == 101 && *ptr_array[1] == 202);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  951|      0|        const int *p = upx::atomic_exchange(&ptr_array[0], ptr_array[1]);
  952|  15.9k|        CHECK_EQ(p, buf + 0);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  953|  15.9k|        assert_noexcept(*ptr_array[0] == 202 && *ptr_array[1] == 202);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  954|      0|        p = upx::atomic_exchange(&ptr_array[1], p);
  955|  15.9k|        CHECK_EQ(p, buf + 1);
  ------------------
  |  | 3016|  15.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  15.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  15.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  15.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  15.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  956|  15.9k|        assert_noexcept(*ptr_array[0] == 202 && *ptr_array[1] == 101);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  957|  15.9k|        UNUSED(p);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  958|  15.9k|    }
  959|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_22v:
  961|  15.9k|TEST_CASE("upx::ObjectDeleter 1") {
  962|  15.9k|    LE16 *o = nullptr; // object
  963|  15.9k|    LE32 *a = nullptr; // array
  964|  15.9k|    LE64 *m = nullptr; // malloc
  965|  15.9k|    {
  966|       |        // auto o_deleter = upx::ObjectDeleter(&o, 1);
  967|  15.9k|        upx::ObjectDeleter<LE16> o_deleter = upx::ObjectDeleter(&o, 1);
  968|  15.9k|        o = new LE16;
  969|  15.9k|        assert(o != nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  970|      0|        auto a_deleter = upx::ArrayDeleter(&a, 1);
  971|  15.9k|        a = New(LE32, 1);
  ------------------
  |  |   93|  15.9k|#define New(type, n) (NewT<type>((n)))
  ------------------
  972|  15.9k|        assert(a != nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  973|      0|        auto m_deleter = upx::MallocDeleter(&m, 1);
  974|  15.9k|        m = (LE64 *) ::malloc(sizeof(LE64));
  975|  15.9k|        assert(m != nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  976|  15.9k|    }
  977|  15.9k|    assert(o == nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  978|  15.9k|    assert(a == nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  979|  15.9k|    assert(m == nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  980|       |    // test "const" versions
  981|      0|    {
  982|  15.9k|        const auto o_deleter = upx::ObjectDeleter(&o, 1);
  983|  15.9k|        o = new LE16;
  984|  15.9k|        assert(o != nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  985|      0|        const auto a_deleter = upx::ArrayDeleter(&a, 1);
  986|  15.9k|        a = New(LE32, 1);
  ------------------
  |  |   93|  15.9k|#define New(type, n) (NewT<type>((n)))
  ------------------
  987|  15.9k|        assert(a != nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  988|      0|        const auto m_deleter = upx::MallocDeleter(&m, 1);
  989|  15.9k|        m = (LE64 *) ::malloc(sizeof(LE64));
  990|  15.9k|        assert(m != nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  991|  15.9k|    }
  992|  15.9k|    assert(o == nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  993|  15.9k|    assert(a == nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  994|  15.9k|    assert(m == nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  995|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_24v:
  997|  15.9k|TEST_CASE("upx::ObjectDeleter 2") {
  998|  15.9k|    constexpr size_t N = 2;
  999|  15.9k|    BE16 *o[N]; // multiple objects
 1000|  15.9k|    BE32 *a[N]; // multiple arrays
 1001|  15.9k|    BE64 *m[N]; // multiple mallocs
 1002|  15.9k|    {
 1003|       |        // auto o_deleter = upx::ObjectDeleter(o, 0);
 1004|  15.9k|        upx::ObjectDeleter<BE16> o_deleter = upx::ObjectDeleter(o, 0);
 1005|  15.9k|        auto a_deleter = upx::ArrayDeleter(a, 0);
 1006|  15.9k|        auto m_deleter = upx::MallocDeleter(m, 0);
 1007|  47.8k|        for (size_t i = 0; i < N; i++) {
  ------------------
  |  Branch (1007:28): [True: 31.8k, False: 15.9k]
  ------------------
 1008|  31.8k|            o[i] = new BE16;
 1009|  31.8k|            assert(o[i] != nullptr);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1010|      0|            o_deleter.count += 1;
 1011|  31.8k|            a[i] = New(BE32, 1 + i);
  ------------------
  |  |   93|  31.8k|#define New(type, n) (NewT<type>((n)))
  ------------------
 1012|  31.8k|            assert(a[i] != nullptr);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1013|      0|            a_deleter.count += 1;
 1014|  31.8k|            m[i] = (BE64 *) ::malloc(sizeof(BE64));
 1015|  31.8k|            assert(m[i] != nullptr);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1016|      0|            m_deleter.count += 1;
 1017|  31.8k|        }
 1018|  15.9k|    }
 1019|  47.8k|    for (size_t i = 0; i < N; i++) {
  ------------------
  |  Branch (1019:24): [True: 31.8k, False: 15.9k]
  ------------------
 1020|  31.8k|        assert(o[i] == nullptr);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1021|  31.8k|        assert(a[i] == nullptr);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1022|  31.8k|        assert(m[i] == nullptr);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1023|  31.8k|    }
 1024|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_26v:
 1820|  15.9k|TEST_CASE("upx::compile_time") {
 1821|  15.9k|    constexpr upx_uint16_t v16 = 0x0201;
 1822|  15.9k|    constexpr upx_uint32_t v24 = 0x030201;
 1823|  15.9k|    constexpr upx_uint32_t v32 = 0x04030201;
 1824|  15.9k|    constexpr upx_uint64_t v64 = 0x0807060504030201ull;
 1825|  15.9k|    {
 1826|  15.9k|        static_assert(upx::compile_time::bswap16(v16) == 0x0102);
 1827|  15.9k|        static_assert(upx::compile_time::bswap32(v32) == 0x01020304);
 1828|  15.9k|        static_assert(upx::compile_time::bswap64(v64) == 0x0102030405060708ull);
 1829|  15.9k|        assert_noexcept(TestCT::noinline_bswap16(v16) == 0x0102);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1830|  15.9k|        assert_noexcept(TestCT::noinline_bswap32(v32) == 0x01020304);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1831|  15.9k|        assert_noexcept(TestCT::noinline_bswap64(v64) == 0x0102030405060708ull);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1832|  15.9k|    }
 1833|      0|    {
 1834|  15.9k|        const constexpr byte d[8] = {1, 2, 3, 4, 5, 6, 7, 8};
 1835|  15.9k|        static_assert(upx::compile_time::get_be16(d) == 0x0102);
 1836|  15.9k|        static_assert(upx::compile_time::get_be24(d) == 0x010203);
 1837|  15.9k|        static_assert(upx::compile_time::get_be32(d) == 0x01020304);
 1838|  15.9k|        static_assert(upx::compile_time::get_be64(d) == 0x0102030405060708ull);
 1839|  15.9k|        static_assert(upx::compile_time::get_le16(d) == 0x0201);
 1840|  15.9k|        static_assert(upx::compile_time::get_le24(d) == 0x030201);
 1841|  15.9k|        static_assert(upx::compile_time::get_le32(d) == 0x04030201);
 1842|  15.9k|        static_assert(upx::compile_time::get_le64(d) == 0x0807060504030201ull);
 1843|  15.9k|    }
 1844|  15.9k|    {
 1845|  15.9k|        using upx::compile_time::mem_eq;
 1846|  15.9k|        upx_alignas_max byte aligned_buffer[16] = {};
  ------------------
  |  |  160|  15.9k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1847|  15.9k|        upx::compile_time::mem_set(aligned_buffer, 0xff, 16);
 1848|  15.9k|        assert_noexcept(mem_eq(aligned_buffer, aligned_buffer + 8, 8));
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1849|      0|        byte *const buf = aligned_buffer + 7;
 1850|       |
 1851|  15.9k|        constexpr auto be16 = TestCT::makeBE16(v16);
 1852|  15.9k|        static_assert(upx::compile_time::get_be16(be16.d) == v16);
 1853|  15.9k|        static_assert(mem_eq(be16.d, "\x02\x01", 2));
 1854|  15.9k|        upx::compile_time::mem_clear(buf, 8);
 1855|  15.9k|        TestCT::noinline_set_be16(buf, v16);
 1856|  15.9k|        assert_noexcept(TestCT::noinline_get_be16(buf) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1857|  15.9k|        assert_noexcept(upx::compile_time::get_be16(buf) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1858|  15.9k|        assert_noexcept(memcmp(buf, be16.d, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1859|       |
 1860|      0|        constexpr auto be24 = TestCT::makeBE24(v24);
 1861|  15.9k|        static_assert(upx::compile_time::get_be24(be24.d) == v24);
 1862|  15.9k|        static_assert(mem_eq(be24.d, "\x03\x02\x01", 3));
 1863|  15.9k|        upx::compile_time::mem_clear(buf, 8);
 1864|  15.9k|        TestCT::noinline_set_be24(buf, v24);
 1865|  15.9k|        assert_noexcept(TestCT::noinline_get_be24(buf) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1866|  15.9k|        assert_noexcept(upx::compile_time::get_be24(buf) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1867|  15.9k|        assert_noexcept(memcmp(buf, be24.d, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1868|       |
 1869|      0|        constexpr auto be32 = TestCT::makeBE32(v32);
 1870|  15.9k|        static_assert(upx::compile_time::get_be32(be32.d) == v32);
 1871|  15.9k|        static_assert(mem_eq(be32.d, "\x04\x03\x02\x01", 4));
 1872|  15.9k|        upx::compile_time::mem_clear(buf, 8);
 1873|  15.9k|        TestCT::noinline_set_be32(buf, v32);
 1874|  15.9k|        assert_noexcept(TestCT::noinline_get_be32(buf) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1875|  15.9k|        assert_noexcept(upx::compile_time::get_be32(buf) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1876|  15.9k|        assert_noexcept(memcmp(buf, be32.d, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1877|       |
 1878|      0|        constexpr auto be64 = TestCT::makeBE64(v64);
 1879|  15.9k|        static_assert(upx::compile_time::get_be64(be64.d) == v64);
 1880|  15.9k|        static_assert(mem_eq(be64.d, "\x08\x07\x06\x05\x04\x03\x02\x01", 8));
 1881|  15.9k|        upx::compile_time::mem_clear(buf, 8);
 1882|  15.9k|        TestCT::noinline_set_be64(buf, v64);
 1883|  15.9k|        assert_noexcept(TestCT::noinline_get_be64(buf) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1884|  15.9k|        assert_noexcept(upx::compile_time::get_be64(buf) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1885|  15.9k|        assert_noexcept(memcmp(buf, be64.d, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1886|       |
 1887|      0|        constexpr auto le16 = TestCT::makeLE16(v16);
 1888|  15.9k|        static_assert(upx::compile_time::get_le16(le16.d) == v16);
 1889|  15.9k|        static_assert(mem_eq(le16.d, "\x01\x02", 2));
 1890|  15.9k|        upx::compile_time::mem_clear(buf, 8);
 1891|  15.9k|        TestCT::noinline_set_le16(buf, v16);
 1892|  15.9k|        assert_noexcept(TestCT::noinline_get_le16(buf) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1893|  15.9k|        assert_noexcept(upx::compile_time::get_le16(buf) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1894|  15.9k|        assert_noexcept(memcmp(buf, le16.d, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1895|       |
 1896|      0|        constexpr auto le24 = TestCT::makeLE24(v24);
 1897|  15.9k|        static_assert(upx::compile_time::get_le24(le24.d) == v24);
 1898|  15.9k|        static_assert(mem_eq(le24.d, "\x01\x02\x03", 3));
 1899|  15.9k|        upx::compile_time::mem_clear(buf, 8);
 1900|  15.9k|        TestCT::noinline_set_le24(buf, v24);
 1901|  15.9k|        assert_noexcept(TestCT::noinline_get_le24(buf) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1902|  15.9k|        assert_noexcept(upx::compile_time::get_le24(buf) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1903|  15.9k|        assert_noexcept(memcmp(buf, le24.d, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1904|       |
 1905|      0|        constexpr auto le32 = TestCT::makeLE32(v32);
 1906|  15.9k|        static_assert(upx::compile_time::get_le32(le32.d) == v32);
 1907|  15.9k|        static_assert(mem_eq(le32.d, "\x01\x02\x03\x04", 4));
 1908|  15.9k|        upx::compile_time::mem_clear(buf, 8);
 1909|  15.9k|        TestCT::noinline_set_le32(buf, v32);
 1910|  15.9k|        assert_noexcept(TestCT::noinline_get_le32(buf) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1911|  15.9k|        assert_noexcept(upx::compile_time::get_le32(buf) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1912|  15.9k|        assert_noexcept(memcmp(buf, le32.d, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1913|       |
 1914|      0|        constexpr auto le64 = TestCT::makeLE64(v64);
 1915|  15.9k|        static_assert(upx::compile_time::get_le64(le64.d) == v64);
 1916|  15.9k|        static_assert(mem_eq(le64.d, "\x01\x02\x03\x04\x05\x06\x07\x08", 8));
 1917|  15.9k|        upx::compile_time::mem_clear(buf, 8);
 1918|  15.9k|        TestCT::noinline_set_le64(buf, v64);
 1919|  15.9k|        assert_noexcept(TestCT::noinline_get_le64(buf) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1920|  15.9k|        assert_noexcept(upx::compile_time::get_le64(buf) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1921|  15.9k|        assert_noexcept(memcmp(buf, le64.d, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1922|       |
 1923|      0|        static_assert(upx::compile_time::bswap16(upx::compile_time::get_be16(be16.d)) ==
 1924|  15.9k|                      upx::compile_time::get_be16(le16.d));
 1925|  15.9k|        static_assert(upx::compile_time::bswap32(upx::compile_time::get_be32(be32.d)) ==
 1926|  15.9k|                      upx::compile_time::get_be32(le32.d));
 1927|  15.9k|        static_assert(upx::compile_time::bswap64(upx::compile_time::get_be64(be64.d)) ==
 1928|  15.9k|                      upx::compile_time::get_be64(le64.d));
 1929|  15.9k|        assert_noexcept(TestCT::noinline_bswap16(TestCT::noinline_get_be16(be16.d)) ==
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1930|  15.9k|                        TestCT::noinline_get_be16(le16.d));
 1931|  15.9k|        assert_noexcept(TestCT::noinline_bswap32(TestCT::noinline_get_be32(be32.d)) ==
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1932|  15.9k|                        TestCT::noinline_get_be32(le32.d));
 1933|  15.9k|        assert_noexcept(TestCT::noinline_bswap64(TestCT::noinline_get_be64(be64.d)) ==
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1934|  15.9k|                        TestCT::noinline_get_be64(le64.d));
 1935|  15.9k|    }
 1936|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap16Et:
 1114|  47.8k|    static noinline upx_uint16_t noinline_bswap16(upx_uint16_t v) noexcept {
 1115|  47.8k|        return upx::compile_time::bswap16(v);
  ------------------
  |  |  350|  47.8k|#define bswap16 upx_bswap16
  ------------------
 1116|  47.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap32Ej:
 1117|  47.8k|    static noinline upx_uint32_t noinline_bswap32(upx_uint32_t v) noexcept {
 1118|  47.8k|        return upx::compile_time::bswap32(v);
  ------------------
  |  |  351|  47.8k|#define bswap32 upx_bswap32
  ------------------
 1119|  47.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap64Ey:
 1120|  47.8k|    static noinline upx_uint64_t noinline_bswap64(upx_uint64_t v) noexcept {
 1121|  47.8k|        return upx::compile_time::bswap64(v);
  ------------------
  |  |  352|  47.8k|#define bswap64 upx_bswap64
  ------------------
 1122|  47.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be16EPht:
 1149|  31.8k|    static noinline void noinline_set_be16(byte * p, upx_uint16_t v) noexcept {
 1150|  31.8k|        upx::compile_time::set_be16(p, v);
 1151|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be16EPKh:
 1124|  79.7k|    static noinline upx_uint16_t noinline_get_be16(const byte *p) noexcept {
 1125|  79.7k|        return upx::compile_time::get_be16(p);
 1126|  79.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be24EPhj:
 1152|  31.8k|    static noinline void noinline_set_be24(byte * p, upx_uint32_t v) noexcept {
 1153|  31.8k|        upx::compile_time::set_be24(p, v);
 1154|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be24EPKh:
 1127|  47.8k|    static noinline upx_uint32_t noinline_get_be24(const byte *p) noexcept {
 1128|  47.8k|        return upx::compile_time::get_be24(p);
 1129|  47.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be32EPhj:
 1155|  31.8k|    static noinline void noinline_set_be32(byte * p, upx_uint32_t v) noexcept {
 1156|  31.8k|        upx::compile_time::set_be32(p, v);
 1157|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be32EPKh:
 1130|  79.7k|    static noinline upx_uint32_t noinline_get_be32(const byte *p) noexcept {
 1131|  79.7k|        return upx::compile_time::get_be32(p);
 1132|  79.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be64EPhy:
 1158|  31.8k|    static noinline void noinline_set_be64(byte * p, upx_uint64_t v) noexcept {
 1159|  31.8k|        upx::compile_time::set_be64(p, v);
 1160|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be64EPKh:
 1133|  79.7k|    static noinline upx_uint64_t noinline_get_be64(const byte *p) noexcept {
 1134|  79.7k|        return upx::compile_time::get_be64(p);
 1135|  79.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le16EPht:
 1161|  31.8k|    static noinline void noinline_set_le16(byte * p, upx_uint16_t v) noexcept {
 1162|  31.8k|        upx::compile_time::set_le16(p, v);
 1163|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le16EPKh:
 1136|  47.8k|    static noinline upx_uint16_t noinline_get_le16(const byte *p) noexcept {
 1137|  47.8k|        return upx::compile_time::get_le16(p);
 1138|  47.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le24EPhj:
 1164|  31.8k|    static noinline void noinline_set_le24(byte * p, upx_uint32_t v) noexcept {
 1165|  31.8k|        upx::compile_time::set_le24(p, v);
 1166|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le24EPKh:
 1139|  47.8k|    static noinline upx_uint32_t noinline_get_le24(const byte *p) noexcept {
 1140|  47.8k|        return upx::compile_time::get_le24(p);
 1141|  47.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le32EPhj:
 1167|  31.8k|    static noinline void noinline_set_le32(byte * p, upx_uint32_t v) noexcept {
 1168|  31.8k|        upx::compile_time::set_le32(p, v);
 1169|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le32EPKh:
 1142|  47.8k|    static noinline upx_uint32_t noinline_get_le32(const byte *p) noexcept {
 1143|  47.8k|        return upx::compile_time::get_le32(p);
 1144|  47.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le64EPhy:
 1170|  31.8k|    static noinline void noinline_set_le64(byte * p, upx_uint64_t v) noexcept {
 1171|  31.8k|        upx::compile_time::set_le64(p, v);
 1172|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le64EPKh:
 1145|  47.8k|    static noinline upx_uint64_t noinline_get_le64(const byte *p) noexcept {
 1146|  47.8k|        return upx::compile_time::get_le64(p);
 1147|  47.8k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_28v:
 1938|  15.9k|TEST_CASE("upx::run_time 1a") {
 1939|  15.9k|    const upx_uint16_t v16 = upx_uint16_t(acc_vget_acc_int64l_t(0xf2f1, 0));
 1940|  15.9k|    const upx_uint32_t v24 = upx_uint32_t(acc_vget_acc_int64l_t(0xf3f2f1, 0));
 1941|  15.9k|    const upx_uint32_t v32 = upx_uint32_t(acc_vget_acc_int64l_t(0xf4f3f2f1, 0));
 1942|  15.9k|    const upx_uint64_t v64 = upx_uint64_t(acc_vget_acc_int64l_t(0xf8f7f6f5f4f3f2f1ull, 0));
 1943|  15.9k|    {
 1944|  15.9k|        assert_noexcept2(TestCT::noinline_bswap16(v16) == 0xf1f2);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1945|  15.9k|        assert_noexcept2(TestCT::noinline_bswap32(v32) == 0xf1f2f3f4);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1946|  15.9k|        assert_noexcept2(TestCT::noinline_bswap64(v64) == 0xf1f2f3f4f5f6f7f8ull);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1947|  15.9k|    }
 1948|  15.9k|    {
 1949|  15.9k|        upx_alignas_max byte aligned_buffer[32];
  ------------------
  |  |  160|  15.9k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1950|  15.9k|        byte *const buf1 = aligned_buffer + 3;
 1951|  15.9k|        byte *const buf2 = aligned_buffer + 13;
 1952|       |
 1953|  15.9k|        upx::compile_time::set_be16(buf1, v16);
 1954|  15.9k|        TestCT::noinline_set_be16(buf2, v16);
 1955|  15.9k|        assert_noexcept(TestCT::noinline_get_be16(buf1) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1956|  15.9k|        assert_noexcept(TestCT::noinline_get_be16(buf2) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1957|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1958|      0|        upx::compile_time::set_be24(buf1, v24);
 1959|  15.9k|        TestCT::noinline_set_be24(buf2, v24);
 1960|  15.9k|        assert_noexcept(TestCT::noinline_get_be24(buf1) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1961|  15.9k|        assert_noexcept(TestCT::noinline_get_be24(buf2) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1962|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1963|      0|        upx::compile_time::set_be32(buf1, v32);
 1964|  15.9k|        TestCT::noinline_set_be32(buf2, v32);
 1965|  15.9k|        assert_noexcept(TestCT::noinline_get_be32(buf1) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1966|  15.9k|        assert_noexcept(TestCT::noinline_get_be32(buf2) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1967|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1968|      0|        upx::compile_time::set_be64(buf1, v64);
 1969|  15.9k|        TestCT::noinline_set_be64(buf2, v64);
 1970|  15.9k|        assert_noexcept(TestCT::noinline_get_be64(buf1) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1971|  15.9k|        assert_noexcept(TestCT::noinline_get_be64(buf2) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1972|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1973|       |
 1974|      0|        upx::compile_time::set_le16(buf1, v16);
 1975|  15.9k|        TestCT::noinline_set_le16(buf2, v16);
 1976|  15.9k|        assert_noexcept(TestCT::noinline_get_le16(buf1) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1977|  15.9k|        assert_noexcept(TestCT::noinline_get_le16(buf2) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1978|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1979|      0|        upx::compile_time::set_le24(buf1, v24);
 1980|  15.9k|        TestCT::noinline_set_le24(buf2, v24);
 1981|  15.9k|        assert_noexcept(TestCT::noinline_get_le24(buf1) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1982|  15.9k|        assert_noexcept(TestCT::noinline_get_le24(buf2) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1983|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1984|      0|        upx::compile_time::set_le32(buf1, v32);
 1985|  15.9k|        TestCT::noinline_set_le32(buf2, v32);
 1986|  15.9k|        assert_noexcept(TestCT::noinline_get_le32(buf1) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1987|  15.9k|        assert_noexcept(TestCT::noinline_get_le32(buf2) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1988|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1989|      0|        upx::compile_time::set_le64(buf1, v64);
 1990|  15.9k|        TestCT::noinline_set_le64(buf2, v64);
 1991|  15.9k|        assert_noexcept(TestCT::noinline_get_le64(buf1) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1992|  15.9k|        assert_noexcept(TestCT::noinline_get_le64(buf2) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1993|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1994|  15.9k|    }
 1995|  15.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_30v:
 1997|  15.9k|TEST_CASE("upx::run_time 1b") {
 1998|  15.9k|    const upx_uint16_t v16 = upx_uint16_t(acc_vget_acc_int64l_t(0xf2f1, 0));
 1999|  15.9k|    const upx_uint32_t v24 = upx_uint32_t(acc_vget_acc_int64l_t(0xf3f2f1, 0));
 2000|  15.9k|    const upx_uint32_t v32 = upx_uint32_t(acc_vget_acc_int64l_t(0xf4f3f2f1, 0));
 2001|  15.9k|    const upx_uint64_t v64 = upx_uint64_t(acc_vget_acc_int64l_t(0xf8f7f6f5f4f3f2f1ull, 0));
 2002|  15.9k|    {
 2003|  15.9k|        assert_noexcept2(TestXE::noinline_bswap16(v16) == 0xf1f2);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2004|  15.9k|        assert_noexcept2(TestXE::noinline_bswap32(v32) == 0xf1f2f3f4);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2005|  15.9k|        assert_noexcept2(TestXE::noinline_bswap64(v64) == 0xf1f2f3f4f5f6f7f8ull);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2006|  15.9k|        assert_noexcept2(TestXE::noinline_bswap16_unsigned(v16) == 0xf1f2);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2007|  15.9k|    }
 2008|  15.9k|    {
 2009|  15.9k|        upx_alignas_max byte aligned_buffer[32];
  ------------------
  |  |  160|  15.9k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 2010|  15.9k|        byte *const buf1 = aligned_buffer + 3;
 2011|  15.9k|        byte *const buf2 = aligned_buffer + 13;
 2012|       |
 2013|  15.9k|        set_be16(buf1, v16);
 2014|  15.9k|        TestXE::noinline_set_be16(buf2, v16);
 2015|  15.9k|        assert_noexcept(TestXE::noinline_get_be16(buf1) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2016|  15.9k|        assert_noexcept(TestXE::noinline_get_be16_unsigned(buf2) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2017|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2018|      0|        set_be24(buf1, v24);
 2019|  15.9k|        TestXE::noinline_set_be24(buf2, v24);
 2020|  15.9k|        assert_noexcept(TestXE::noinline_get_be24(buf1) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2021|  15.9k|        assert_noexcept(TestXE::noinline_get_be24(buf2) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2022|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2023|      0|        set_be32(buf1, v32);
 2024|  15.9k|        TestXE::noinline_set_be32(buf2, v32);
 2025|  15.9k|        assert_noexcept(TestXE::noinline_get_be32(buf1) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2026|  15.9k|        assert_noexcept(TestXE::noinline_get_be32(buf2) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2027|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2028|      0|        set_be64(buf1, v64);
 2029|  15.9k|        TestXE::noinline_set_be64(buf2, v64);
 2030|  15.9k|        assert_noexcept(TestXE::noinline_get_be64(buf1) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2031|  15.9k|        assert_noexcept(TestXE::noinline_get_be64(buf2) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2032|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2033|       |
 2034|      0|        set_le16(buf1, v16);
 2035|  15.9k|        TestXE::noinline_set_le16(buf2, v16);
 2036|  15.9k|        assert_noexcept(TestXE::noinline_get_le16(buf1) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2037|  15.9k|        assert_noexcept(TestXE::noinline_get_le16_unsigned(buf2) == v16);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2038|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2039|      0|        set_le24(buf1, v24);
 2040|  15.9k|        TestXE::noinline_set_le24(buf2, v24);
 2041|  15.9k|        assert_noexcept(TestXE::noinline_get_le24(buf1) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2042|  15.9k|        assert_noexcept(TestXE::noinline_get_le24(buf2) == v24);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2043|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2044|      0|        set_le32(buf1, v32);
 2045|  15.9k|        TestXE::noinline_set_le32(buf2, v32);
 2046|  15.9k|        assert_noexcept(TestXE::noinline_get_le32(buf1) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2047|  15.9k|        assert_noexcept(TestXE::noinline_get_le32(buf2) == v32);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2048|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2049|      0|        set_le64(buf1, v64);
 2050|  15.9k|        TestXE::noinline_set_le64(buf2, v64);
 2051|  15.9k|        assert_noexcept(TestXE::noinline_get_le64(buf1) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2052|  15.9k|        assert_noexcept(TestXE::noinline_get_le64(buf2) == v64);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2053|  15.9k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2054|       |
 2055|      0|        TestXE::noinline_set_be16_unsigned(buf2, v16);
 2056|  15.9k|        TestXE::noinline_set_le16_unsigned(buf2, v16);
 2057|       |
 2058|  15.9k|        assert_noexcept2(TestXE::noinline_get_me8_int64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2059|  15.9k|        assert_noexcept2(TestXE::noinline_get_me8_uint64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2060|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne8_int64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2061|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne8_uint64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2062|  15.9k|        assert_noexcept2(TestXE::noinline_get_me16_int64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2063|  15.9k|        assert_noexcept2(TestXE::noinline_get_me16_uint64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2064|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne16_int64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2065|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne16_uint64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2066|  15.9k|        assert_noexcept2(TestXE::noinline_get_me32_int64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2067|  15.9k|        assert_noexcept2(TestXE::noinline_get_me32_uint64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2068|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne32_int64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2069|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne32_uint64(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2070|  15.9k|#if (__SIZEOF_INT128__ == 16)
 2071|  15.9k|        assert_noexcept2(TestXE::noinline_get_me32_int128(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2072|  15.9k|        assert_noexcept2(TestXE::noinline_get_me32_uint128(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2073|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne32_int128(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2074|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne32_uint128(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2075|  15.9k|        assert_noexcept2(TestXE::noinline_get_me64_int128(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2076|  15.9k|        assert_noexcept2(TestXE::noinline_get_me64_uint128(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2077|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne64_int128(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2078|  15.9k|        assert_noexcept2(TestXE::noinline_get_ne64_uint128(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2079|  15.9k|#endif
 2080|       |
 2081|  15.9k|        assert_noexcept2(TestXE::noinline_get_be16_signed(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2082|  15.9k|        assert_noexcept2(TestXE::noinline_get_be24_signed(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2083|  15.9k|        assert_noexcept2(TestXE::noinline_get_be32_signed(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2084|  15.9k|        assert_noexcept2(TestXE::noinline_get_be64_signed(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2085|  15.9k|        assert_noexcept2(TestXE::noinline_get_le16_signed(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2086|  15.9k|        assert_noexcept2(TestXE::noinline_get_le24_signed(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2087|  15.9k|        assert_noexcept2(TestXE::noinline_get_le32_signed(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2088|  15.9k|        assert_noexcept2(TestXE::noinline_get_le64_signed(buf1) != 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2089|  15.9k|    }
 2090|      0|    {
 2091|  15.9k|        assert_noexcept2(TestXE::noinline_make_be16(v32) == 0xf2f1);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2092|  15.9k|        assert_noexcept2(TestXE::noinline_make_be32(v32) == 0xf4f3f2f1);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2093|  15.9k|        assert_noexcept2(TestXE::noinline_make_be64(v64) == 0xf8f7f6f5f4f3f2f1ull);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2094|  15.9k|        assert_noexcept2(TestXE::noinline_make_le16(v32) == 0xf2f1);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2095|  15.9k|        assert_noexcept2(TestXE::noinline_make_le32(v32) == 0xf4f3f2f1);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2096|  15.9k|        assert_noexcept2(TestXE::noinline_make_le64(v64) == 0xf8f7f6f5f4f3f2f1ull);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2097|  15.9k|        const int n = acc_vget_int(0, 0);
 2098|  15.9k|        assert_noexcept2(TestXE::noinline_make_be16(n) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2099|  15.9k|        assert_noexcept2(TestXE::noinline_make_be32(n) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2100|  15.9k|        assert_noexcept2(TestXE::noinline_make_be64(n) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2101|  15.9k|        assert_noexcept2(TestXE::noinline_make_le16(n) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2102|  15.9k|        assert_noexcept2(TestXE::noinline_make_le32(n) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2103|  15.9k|        assert_noexcept2(TestXE::noinline_make_le64(n) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2104|  15.9k|    }
 2105|  15.9k|    {
 2106|  15.9k|        const BE16 be16 = BE16::make(acc_vget_int(v16, 0));
 2107|  15.9k|        const BE32 be32 = BE32::make(acc_vget_int(v32, 0));
 2108|  15.9k|        const BE64 be64 = BE64::make(acc_vget_acc_int64l_t(v64, 0));
 2109|  15.9k|        const LE16 le16 = LE16::make(acc_vget_int(v16, 0));
 2110|  15.9k|        const LE32 le32 = LE32::make(acc_vget_int(v32, 0));
 2111|  15.9k|        const LE64 le64 = LE64::make(acc_vget_acc_int64l_t(v64, 0));
 2112|  15.9k|        assert_noexcept2(TestXE::noinline_equal_be16(be16, v32));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2113|  15.9k|        assert_noexcept2(TestXE::noinline_equal_be32(be32, v32));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2114|  15.9k|        assert_noexcept2(TestXE::noinline_equal_be64(be64, v64));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2115|  15.9k|        assert_noexcept2(TestXE::noinline_equal_le16(le16, v32));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2116|  15.9k|        assert_noexcept2(TestXE::noinline_equal_le32(le32, v32));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2117|  15.9k|        assert_noexcept2(TestXE::noinline_equal_le64(le64, v64));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2118|  15.9k|        assert_noexcept2(!TestXE::noinline_less_be16(be16, v32));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2119|  15.9k|        assert_noexcept2(!TestXE::noinline_less_be32(be32, v32));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2120|  15.9k|        assert_noexcept2(!TestXE::noinline_less_be64(be64, v64));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2121|  15.9k|        assert_noexcept2(!TestXE::noinline_less_le16(le16, v32));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2122|  15.9k|        assert_noexcept2(!TestXE::noinline_less_le32(le32, v32));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2123|  15.9k|        assert_noexcept2(!TestXE::noinline_less_le64(le64, v64));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2124|  15.9k|    }
 2125|  15.9k|    {
 2126|   271k|        for (int i = -8; i < 8; i++) {
  ------------------
  |  Branch (2126:26): [True: 255k, False: 15.9k]
  ------------------
 2127|   255k|            {
 2128|   255k|                const unsigned u = i;
 2129|   255k|                assert_noexcept(TestXE::noinline_sign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 127k, False: 127k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2130|   255k|                assert_noexcept(TestXE::noinline_sign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2131|   255k|                assert_noexcept(TestXE::noinline_sign_extend32_4(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2132|   255k|                assert_noexcept(TestXE::noinline_sign_extend32_8(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2133|   255k|                assert_noexcept(TestXE::noinline_sign_extend32_16(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2134|   255k|                assert_noexcept(TestXE::noinline_sign_extend32_24(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2135|   255k|                assert_noexcept(TestXE::noinline_sign_extend32_32(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2136|   255k|                assert_noexcept(TestXE::noinline_xign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 127k, False: 127k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2137|   255k|                assert_noexcept(TestXE::noinline_xign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2138|   255k|                assert_noexcept(TestXE::noinline_xign_extend32_4(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2139|   255k|                assert_noexcept(TestXE::noinline_xign_extend32_8(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2140|   255k|                assert_noexcept(TestXE::noinline_xign_extend32_16(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2141|   255k|                assert_noexcept(TestXE::noinline_xign_extend32_24(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2142|   255k|                assert_noexcept(TestXE::noinline_xign_extend32_32(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2143|   255k|                assert_noexcept(TestXE::noinline_yign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 127k, False: 127k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2144|   255k|                assert_noexcept(TestXE::noinline_yign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2145|   255k|                assert_noexcept(TestXE::noinline_yign_extend32_4(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2146|   255k|                assert_noexcept(TestXE::noinline_yign_extend32_8(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2147|   255k|                assert_noexcept(TestXE::noinline_yign_extend32_16(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2148|   255k|                assert_noexcept(TestXE::noinline_yign_extend32_24(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2149|   255k|                assert_noexcept(TestXE::noinline_yign_extend32_32(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2150|   255k|                if (i >= 0) {
  ------------------
  |  Branch (2150:21): [True: 127k, False: 127k]
  ------------------
 2151|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32(u, 4 + (i & 1)) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2152|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_4(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2153|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_8(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2154|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_16(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2155|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_24(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2156|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_32(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2157|   127k|                }
 2158|   255k|            }
 2159|      0|            {
 2160|   255k|                const upx_uint64_t u = i;
 2161|   255k|                assert_noexcept(TestXE::noinline_sign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 127k, False: 127k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2162|   255k|                assert_noexcept(TestXE::noinline_sign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2163|   255k|                assert_noexcept(TestXE::noinline_sign_extend64_4(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2164|   255k|                assert_noexcept(TestXE::noinline_sign_extend64_8(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2165|   255k|                assert_noexcept(TestXE::noinline_sign_extend64_16(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2166|   255k|                assert_noexcept(TestXE::noinline_sign_extend64_24(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2167|   255k|                assert_noexcept(TestXE::noinline_sign_extend64_32(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2168|   255k|                assert_noexcept(TestXE::noinline_sign_extend64_48(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2169|   255k|                assert_noexcept(TestXE::noinline_sign_extend64_64(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2170|   255k|                assert_noexcept(TestXE::noinline_xign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 127k, False: 127k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2171|   255k|                assert_noexcept(TestXE::noinline_xign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2172|   255k|                assert_noexcept(TestXE::noinline_xign_extend64_4(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2173|   255k|                assert_noexcept(TestXE::noinline_xign_extend64_8(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2174|   255k|                assert_noexcept(TestXE::noinline_xign_extend64_16(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2175|   255k|                assert_noexcept(TestXE::noinline_xign_extend64_24(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2176|   255k|                assert_noexcept(TestXE::noinline_xign_extend64_32(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2177|   255k|                assert_noexcept(TestXE::noinline_xign_extend64_48(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2178|   255k|                assert_noexcept(TestXE::noinline_xign_extend64_64(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2179|   255k|                assert_noexcept(TestXE::noinline_yign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 127k, False: 127k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2180|   255k|                assert_noexcept(TestXE::noinline_yign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2181|   255k|                assert_noexcept(TestXE::noinline_yign_extend64_4(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2182|   255k|                assert_noexcept(TestXE::noinline_yign_extend64_8(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2183|   255k|                assert_noexcept(TestXE::noinline_yign_extend64_16(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2184|   255k|                assert_noexcept(TestXE::noinline_yign_extend64_24(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2185|   255k|                assert_noexcept(TestXE::noinline_yign_extend64_32(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2186|   255k|                assert_noexcept(TestXE::noinline_yign_extend64_48(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2187|   255k|                assert_noexcept(TestXE::noinline_yign_extend64_64(u) == i);
  ------------------
  |  |  499|   255k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2188|   255k|                if (i >= 0) {
  ------------------
  |  Branch (2188:21): [True: 127k, False: 127k]
  ------------------
 2189|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64(u, 4 + (i & 1)) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2190|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_4(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2191|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_8(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2192|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_16(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2193|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_24(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2194|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_32(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2195|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_48(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2196|   127k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_64(u) == u);
  ------------------
  |  |  499|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2197|   127k|                }
 2198|   255k|            }
 2199|   255k|        }
 2200|  15.9k|    }
 2201|  15.9k|    {
 2202|  15.9k|        const upx_uint64_t element_size = upx_uint64_t(acc_vget_acc_int64l_t(1, 0));
 2203|  15.9k|        const upx_uint64_t n = upx_uint64_t(acc_vget_acc_int64l_t(0, 0));
 2204|  15.9k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(n));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2205|  15.9k|        assert_noexcept2(TestXE::noinline_mem_size(element_size, n) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2206|  15.9k|        assert_noexcept2(TestXE::noinline_mem_size_get_n(element_size, n) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2207|  15.9k|    }
 2208|  15.9k|    if (acc_vget_int(0, 0)) {
  ------------------
  |  Branch (2208:9): [True: 0, False: 15.9k]
  ------------------
 2209|      0|        ByteArray(d, 1048576);
  ------------------
  |  |  479|      0|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  476|      0|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  477|      0|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  |  |  ------------------
  |  |  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2210|      0|        ByteArray(s, 1048576);
  ------------------
  |  |  479|      0|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  476|      0|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  477|      0|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  |  |  ------------------
  |  |  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2211|      0|        s_membuf.clear();
 2212|      0|        TestXE::noinline_memcpy_0(d, s);
 2213|      0|        TestXE::noinline_memcpy_1(d, s);
 2214|      0|        TestXE::noinline_memcpy_2(d, s);
 2215|      0|        TestXE::noinline_memcpy_4(d, s);
 2216|      0|        TestXE::noinline_memcpy_8(d, s);
 2217|      0|        TestXE::noinline_memcpy_16(d, s);
 2218|      0|        TestXE::noinline_memcpy_32(d, s);
 2219|      0|        TestXE::noinline_memcpy_64(d, s);
 2220|      0|        TestXE::noinline_memcpy_128(d, s);
 2221|      0|        TestXE::noinline_memcpy_256(d, s);
 2222|      0|        TestXE::noinline_memcpy_512(d, s);
 2223|      0|        TestXE::noinline_memcpy_1024(d, s);
 2224|      0|        TestXE::noinline_memcpy_65536(d, s);
 2225|      0|        TestXE::noinline_memcpy_1048576(d, s);
 2226|      0|        TestXE::noinline_memcpy_3(d, s);
 2227|      0|        TestXE::noinline_memcpy_6(d, s);
 2228|      0|        TestXE::noinline_memcpy_12(d, s);
 2229|      0|        TestXE::noinline_memcpy_24(d, s);
 2230|      0|        TestXE::noinline_memcpy_48(d, s);
 2231|      0|        TestXE::noinline_memcpy_96(d, s);
 2232|      0|        TestXE::noinline_memcpy_192(d, s);
 2233|      0|        TestXE::noinline_memcpy_384(d, s);
 2234|      0|        TestXE::noinline_memcpy_768(d, s);
 2235|      0|        TestXE::noinline_memcpy_7(d, s);
 2236|      0|        TestXE::noinline_memcpy_13(d, s);
 2237|      0|        TestXE::noinline_memcpy_25(d, s);
 2238|      0|        TestXE::noinline_memcpy_49(d, s);
 2239|      0|        TestXE::noinline_memcpy_97(d, s);
 2240|      0|        TestXE::noinline_memcpy_193(d, s);
 2241|      0|        TestXE::noinline_memcpy_385(d, s);
 2242|      0|        TestXE::noinline_memcpy_769(d, s);
 2243|      0|    }
 2244|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap16Et:
 1352|  15.9k|    static noinline upx_uint16_t noinline_bswap16(upx_uint16_t v) noexcept { return bswap16(v); }
  ------------------
  |  |  350|  15.9k|#define bswap16 upx_bswap16
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap32Ej:
 1353|  15.9k|    static noinline upx_uint32_t noinline_bswap32(upx_uint32_t v) noexcept { return bswap32(v); }
  ------------------
  |  |  351|  15.9k|#define bswap32 upx_bswap32
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap64Ey:
 1354|  15.9k|    static noinline upx_uint64_t noinline_bswap64(upx_uint64_t v) noexcept { return bswap64(v); }
  ------------------
  |  |  352|  15.9k|#define bswap64 upx_bswap64
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_bswap16_unsignedEj:
 1374|  15.9k|    static noinline unsigned noinline_bswap16_unsigned(unsigned v) noexcept { return bswap16(v); }
  ------------------
  |  |  350|  15.9k|#define bswap16 upx_bswap16
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be16EPht:
 1365|  15.9k|    static noinline void noinline_set_be16(byte * p, upx_uint16_t v) noexcept { set_be16(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_be16EPKh:
 1356|  15.9k|    static noinline upx_uint16_t noinline_get_be16(const byte *p) noexcept { return get_be16(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_get_be16_unsignedEPKh:
 1375|  15.9k|    static noinline unsigned noinline_get_be16_unsigned(const byte *p) noexcept {
 1376|  15.9k|        return get_be16(p);
 1377|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be24EPhj:
 1366|  15.9k|    static noinline void noinline_set_be24(byte * p, upx_uint32_t v) noexcept { set_be24(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_be24EPKh:
 1357|  31.8k|    static noinline upx_uint32_t noinline_get_be24(const byte *p) noexcept { return get_be24(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be32EPhj:
 1367|  15.9k|    static noinline void noinline_set_be32(byte * p, upx_uint32_t v) noexcept { set_be32(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_be32EPKh:
 1358|  31.8k|    static noinline upx_uint32_t noinline_get_be32(const byte *p) noexcept { return get_be32(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be64EPhy:
 1368|  15.9k|    static noinline void noinline_set_be64(byte * p, upx_uint64_t v) noexcept { set_be64(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_be64EPKh:
 1359|  31.8k|    static noinline upx_uint64_t noinline_get_be64(const byte *p) noexcept { return get_be64(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le16EPht:
 1369|  15.9k|    static noinline void noinline_set_le16(byte * p, upx_uint16_t v) noexcept { set_le16(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_le16EPKh:
 1360|  15.9k|    static noinline upx_uint16_t noinline_get_le16(const byte *p) noexcept { return get_le16(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_get_le16_unsignedEPKh:
 1378|  15.9k|    static noinline unsigned noinline_get_le16_unsigned(const byte *p) noexcept {
 1379|  15.9k|        return get_le16(p);
 1380|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le24EPhj:
 1370|  15.9k|    static noinline void noinline_set_le24(byte * p, upx_uint32_t v) noexcept { set_le24(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_le24EPKh:
 1361|  31.8k|    static noinline upx_uint32_t noinline_get_le24(const byte *p) noexcept { return get_le24(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le32EPhj:
 1371|  15.9k|    static noinline void noinline_set_le32(byte * p, upx_uint32_t v) noexcept { set_le32(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_le32EPKh:
 1362|  31.8k|    static noinline upx_uint32_t noinline_get_le32(const byte *p) noexcept { return get_le32(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le64EPhy:
 1372|  15.9k|    static noinline void noinline_set_le64(byte * p, upx_uint64_t v) noexcept { set_le64(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_le64EPKh:
 1363|  31.8k|    static noinline upx_uint64_t noinline_get_le64(const byte *p) noexcept { return get_le64(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_set_be16_unsignedEPhj:
 1381|  15.9k|    static noinline void noinline_set_be16_unsigned(byte * p, unsigned v) noexcept {
 1382|  15.9k|        set_be16(p, v);
 1383|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_set_le16_unsignedEPhj:
 1384|  15.9k|    static noinline void noinline_set_le16_unsigned(byte * p, unsigned v) noexcept {
 1385|  15.9k|        set_le16(p, v);
 1386|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_get_me8_int64EPKh:
 1388|  15.9k|    static noinline upx_int64_t noinline_get_me8_int64(const byte *p) noexcept {
 1389|  15.9k|        return get_me8_int64(p);
 1390|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113get_me8_int64EPKh:
 1222|  15.9k|static forceinline upx_int64_t get_me8_int64(const byte *p) noexcept {
 1223|  15.9k|    upx_int8_t v = 0;
 1224|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1225|  15.9k|    return v;
 1226|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_me8_uint64EPKh:
 1391|  15.9k|    static noinline upx_uint64_t noinline_get_me8_uint64(const byte *p) noexcept {
 1392|  15.9k|        return get_me8_uint64(p);
 1393|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_me8_uint64EPKh:
 1227|  15.9k|static forceinline upx_uint64_t get_me8_uint64(const byte *p) noexcept {
 1228|  15.9k|    upx_int8_t v = 0;
 1229|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1230|  15.9k|    return v;
 1231|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_get_ne8_int64EPKh:
 1394|  15.9k|    static noinline upx_int64_t noinline_get_ne8_int64(const byte *p) noexcept {
 1395|  15.9k|        return get_ne8_int64(p);
 1396|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113get_ne8_int64EPKh:
 1232|  15.9k|static forceinline upx_int64_t get_ne8_int64(const byte *p) noexcept {
 1233|  15.9k|    upx_uint8_t v = 0;
 1234|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1235|  15.9k|    return v;
 1236|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_ne8_uint64EPKh:
 1397|  15.9k|    static noinline upx_uint64_t noinline_get_ne8_uint64(const byte *p) noexcept {
 1398|  15.9k|        return get_ne8_uint64(p);
 1399|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_ne8_uint64EPKh:
 1237|  15.9k|static forceinline upx_uint64_t get_ne8_uint64(const byte *p) noexcept {
 1238|  15.9k|    upx_uint8_t v = 0;
 1239|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1240|  15.9k|    return v;
 1241|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_me16_int64EPKh:
 1400|  15.9k|    static noinline upx_int64_t noinline_get_me16_int64(const byte *p) noexcept {
 1401|  15.9k|        return get_me16_int64(p);
 1402|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_me16_int64EPKh:
 1242|  15.9k|static forceinline upx_int64_t get_me16_int64(const byte *p) noexcept {
 1243|  15.9k|    upx_int16_t v = 0;
 1244|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1245|  15.9k|    return v;
 1246|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_me16_uint64EPKh:
 1403|  15.9k|    static noinline upx_uint64_t noinline_get_me16_uint64(const byte *p) noexcept {
 1404|  15.9k|        return get_me16_uint64(p);
 1405|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_me16_uint64EPKh:
 1247|  15.9k|static forceinline upx_uint64_t get_me16_uint64(const byte *p) noexcept {
 1248|  15.9k|    upx_int16_t v = 0;
 1249|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1250|  15.9k|    return v;
 1251|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_ne16_int64EPKh:
 1406|  15.9k|    static noinline upx_int64_t noinline_get_ne16_int64(const byte *p) noexcept {
 1407|  15.9k|        return get_ne16_int64(p);
 1408|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_ne16_int64EPKh:
 1252|  15.9k|static forceinline upx_int64_t get_ne16_int64(const byte *p) noexcept {
 1253|  15.9k|    upx_uint16_t v = 0;
 1254|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1255|  15.9k|    return v;
 1256|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_ne16_uint64EPKh:
 1409|  15.9k|    static noinline upx_uint64_t noinline_get_ne16_uint64(const byte *p) noexcept {
 1410|  15.9k|        return get_ne16_uint64(p);
 1411|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_ne16_uint64EPKh:
 1257|  15.9k|static forceinline upx_uint64_t get_ne16_uint64(const byte *p) noexcept {
 1258|  15.9k|    upx_uint16_t v = 0;
 1259|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1260|  15.9k|    return v;
 1261|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_me32_int64EPKh:
 1412|  15.9k|    static noinline upx_int64_t noinline_get_me32_int64(const byte *p) noexcept {
 1413|  15.9k|        return get_me32_int64(p);
 1414|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_me32_int64EPKh:
 1262|  15.9k|static forceinline upx_int64_t get_me32_int64(const byte *p) noexcept {
 1263|  15.9k|    upx_int32_t v = 0;
 1264|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1265|  15.9k|    return v;
 1266|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_me32_uint64EPKh:
 1415|  15.9k|    static noinline upx_uint64_t noinline_get_me32_uint64(const byte *p) noexcept {
 1416|  15.9k|        return get_me32_uint64(p);
 1417|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_me32_uint64EPKh:
 1267|  15.9k|static forceinline upx_uint64_t get_me32_uint64(const byte *p) noexcept {
 1268|  15.9k|    upx_int32_t v = 0;
 1269|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1270|  15.9k|    return v;
 1271|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_ne32_int64EPKh:
 1418|  15.9k|    static noinline upx_int64_t noinline_get_ne32_int64(const byte *p) noexcept {
 1419|  15.9k|        return get_ne32_int64(p);
 1420|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_ne32_int64EPKh:
 1272|  15.9k|static forceinline upx_int64_t get_ne32_int64(const byte *p) noexcept {
 1273|  15.9k|    upx_uint32_t v = 0;
 1274|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1275|  15.9k|    return v;
 1276|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_ne32_uint64EPKh:
 1421|  15.9k|    static noinline upx_uint64_t noinline_get_ne32_uint64(const byte *p) noexcept {
 1422|  15.9k|        return get_ne32_uint64(p);
 1423|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_ne32_uint64EPKh:
 1277|  15.9k|static forceinline upx_uint64_t get_ne32_uint64(const byte *p) noexcept {
 1278|  15.9k|    upx_uint32_t v = 0;
 1279|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1280|  15.9k|    return v;
 1281|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_me32_int128EPKh:
 1425|  15.9k|    static noinline upx_int128_t noinline_get_me32_int128(const byte *p) noexcept {
 1426|  15.9k|        return get_me32_int128(p);
 1427|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_me32_int128EPKh:
 1283|  15.9k|static forceinline upx_int128_t get_me32_int128(const byte *p) noexcept {
 1284|  15.9k|    upx_int32_t v = 0;
 1285|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1286|  15.9k|    return v;
 1287|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_get_me32_uint128EPKh:
 1428|  15.9k|    static noinline upx_uint128_t noinline_get_me32_uint128(const byte *p) noexcept {
 1429|  15.9k|        return get_me32_uint128(p);
 1430|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_116get_me32_uint128EPKh:
 1288|  15.9k|static forceinline upx_uint128_t get_me32_uint128(const byte *p) noexcept {
 1289|  15.9k|    upx_int32_t v = 0;
 1290|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1291|  15.9k|    return v;
 1292|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_ne32_int128EPKh:
 1431|  15.9k|    static noinline upx_int128_t noinline_get_ne32_int128(const byte *p) noexcept {
 1432|  15.9k|        return get_ne32_int128(p);
 1433|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_ne32_int128EPKh:
 1293|  15.9k|static forceinline upx_int128_t get_ne32_int128(const byte *p) noexcept {
 1294|  15.9k|    upx_uint32_t v = 0;
 1295|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1296|  15.9k|    return v;
 1297|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_get_ne32_uint128EPKh:
 1434|  15.9k|    static noinline upx_uint128_t noinline_get_ne32_uint128(const byte *p) noexcept {
 1435|  15.9k|        return get_ne32_uint128(p);
 1436|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_116get_ne32_uint128EPKh:
 1298|  15.9k|static forceinline upx_uint128_t get_ne32_uint128(const byte *p) noexcept {
 1299|  15.9k|    upx_uint32_t v = 0;
 1300|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1301|  15.9k|    return v;
 1302|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_me64_int128EPKh:
 1437|  15.9k|    static noinline upx_int128_t noinline_get_me64_int128(const byte *p) noexcept {
 1438|  15.9k|        return get_me64_int128(p);
 1439|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_me64_int128EPKh:
 1303|  15.9k|static forceinline upx_int128_t get_me64_int128(const byte *p) noexcept {
 1304|  15.9k|    upx_int64_t v = 0;
 1305|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1306|  15.9k|    return v;
 1307|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_get_me64_uint128EPKh:
 1440|  15.9k|    static noinline upx_uint128_t noinline_get_me64_uint128(const byte *p) noexcept {
 1441|  15.9k|        return get_me64_uint128(p);
 1442|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_116get_me64_uint128EPKh:
 1308|  15.9k|static forceinline upx_uint128_t get_me64_uint128(const byte *p) noexcept {
 1309|  15.9k|    upx_int64_t v = 0;
 1310|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1311|  15.9k|    return v;
 1312|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_ne64_int128EPKh:
 1443|  15.9k|    static noinline upx_int128_t noinline_get_ne64_int128(const byte *p) noexcept {
 1444|  15.9k|        return get_ne64_int128(p);
 1445|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_ne64_int128EPKh:
 1313|  15.9k|static forceinline upx_int128_t get_ne64_int128(const byte *p) noexcept {
 1314|  15.9k|    upx_uint64_t v = 0;
 1315|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1316|  15.9k|    return v;
 1317|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_get_ne64_uint128EPKh:
 1446|  15.9k|    static noinline upx_uint128_t noinline_get_ne64_uint128(const byte *p) noexcept {
 1447|  15.9k|        return get_ne64_uint128(p);
 1448|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_116get_ne64_uint128EPKh:
 1318|  15.9k|static forceinline upx_uint128_t get_ne64_uint128(const byte *p) noexcept {
 1319|  15.9k|    upx_uint64_t v = 0;
 1320|  15.9k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1321|  15.9k|    return v;
 1322|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_be16_signedEPKh:
 1451|  15.9k|    static noinline int noinline_get_be16_signed(const byte *p) noexcept {
 1452|  15.9k|        return get_be16_signed(p);
 1453|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_be24_signedEPKh:
 1454|  15.9k|    static noinline int noinline_get_be24_signed(const byte *p) noexcept {
 1455|  15.9k|        return get_be24_signed(p);
 1456|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_be32_signedEPKh:
 1457|  15.9k|    static noinline int noinline_get_be32_signed(const byte *p) noexcept {
 1458|  15.9k|        return get_be32_signed(p);
 1459|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_be64_signedEPKh:
 1460|  15.9k|    static noinline upx_int64_t noinline_get_be64_signed(const byte *p) noexcept {
 1461|  15.9k|        return get_be64_signed(p);
 1462|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_le16_signedEPKh:
 1463|  15.9k|    static noinline int noinline_get_le16_signed(const byte *p) noexcept {
 1464|  15.9k|        return get_le16_signed(p);
 1465|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_le24_signedEPKh:
 1466|  15.9k|    static noinline int noinline_get_le24_signed(const byte *p) noexcept {
 1467|  15.9k|        return get_le24_signed(p);
 1468|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_le32_signedEPKh:
 1469|  15.9k|    static noinline int noinline_get_le32_signed(const byte *p) noexcept {
 1470|  15.9k|        return get_le32_signed(p);
 1471|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_le64_signedEPKh:
 1472|  15.9k|    static noinline upx_int64_t noinline_get_le64_signed(const byte *p) noexcept {
 1473|  15.9k|        return get_le64_signed(p);
 1474|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_be16Ej:
 1476|  31.8k|    static noinline BE16 noinline_make_be16(unsigned v) noexcept { return BE16::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_be32Ej:
 1477|  31.8k|    static noinline BE32 noinline_make_be32(unsigned v) noexcept { return BE32::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_be64Ey:
 1478|  31.8k|    static noinline BE64 noinline_make_be64(upx_uint64_t v) noexcept { return BE64::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_le16Ej:
 1479|  31.8k|    static noinline LE16 noinline_make_le16(unsigned v) noexcept { return LE16::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_le32Ej:
 1480|  31.8k|    static noinline LE32 noinline_make_le32(unsigned v) noexcept { return LE32::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_le64Ey:
 1481|  31.8k|    static noinline LE64 noinline_make_le64(upx_uint64_t v) noexcept { return LE64::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_be16E4BE16j:
 1483|  15.9k|    static noinline bool noinline_equal_be16(BE16 a, unsigned v) noexcept {
 1484|  15.9k|        const BE16 b = BE16::make(v);
 1485|  15.9k|        return a == b;
 1486|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_be32E4BE32j:
 1487|  15.9k|    static noinline bool noinline_equal_be32(BE32 a, unsigned v) noexcept {
 1488|  15.9k|        const BE32 b = BE32::make(v);
 1489|  15.9k|        return a == b;
 1490|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_be64E4BE64y:
 1491|  15.9k|    static noinline bool noinline_equal_be64(BE64 a, upx_uint64_t v) noexcept {
 1492|  15.9k|        const BE64 b = BE64::make(v);
 1493|  15.9k|        return a == b;
 1494|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_le16E4LE16j:
 1495|  15.9k|    static noinline bool noinline_equal_le16(LE16 a, unsigned v) noexcept {
 1496|  15.9k|        const LE16 b = LE16::make(v);
 1497|  15.9k|        return a == b;
 1498|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_le32E4LE32j:
 1499|  15.9k|    static noinline bool noinline_equal_le32(LE32 a, unsigned v) noexcept {
 1500|  15.9k|        const LE32 b = LE32::make(v);
 1501|  15.9k|        return a == b;
 1502|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_le64E4LE64y:
 1503|  15.9k|    static noinline bool noinline_equal_le64(LE64 a, upx_uint64_t v) noexcept {
 1504|  15.9k|        const LE64 b = LE64::make(v);
 1505|  15.9k|        return a == b;
 1506|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_be16E4BE16j:
 1508|  15.9k|    static noinline bool noinline_less_be16(BE16 a, unsigned v) noexcept {
 1509|  15.9k|        const BE16 b = BE16::make(v);
 1510|  15.9k|        return a < b;
 1511|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_be32E4BE32j:
 1512|  15.9k|    static noinline bool noinline_less_be32(BE32 a, unsigned v) noexcept {
 1513|  15.9k|        const BE32 b = BE32::make(v);
 1514|  15.9k|        return a < b;
 1515|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_be64E4BE64y:
 1516|  15.9k|    static noinline bool noinline_less_be64(BE64 a, upx_uint64_t v) noexcept {
 1517|  15.9k|        const BE64 b = BE64::make(v);
 1518|  15.9k|        return a < b;
 1519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_le16E4LE16j:
 1520|  15.9k|    static noinline bool noinline_less_le16(LE16 a, unsigned v) noexcept {
 1521|  15.9k|        const LE16 b = LE16::make(v);
 1522|  15.9k|        return a < b;
 1523|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_le32E4LE32j:
 1524|  15.9k|    static noinline bool noinline_less_le32(LE32 a, unsigned v) noexcept {
 1525|  15.9k|        const LE32 b = LE32::make(v);
 1526|  15.9k|        return a < b;
 1527|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_le64E4LE64y:
 1528|  15.9k|    static noinline bool noinline_less_le64(LE64 a, upx_uint64_t v) noexcept {
 1529|  15.9k|        const LE64 b = LE64::make(v);
 1530|  15.9k|        return a < b;
 1531|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_sign_extend32Ejj:
 1533|   510k|    static noinline int noinline_sign_extend32(unsigned v, unsigned bits) noexcept {
 1534|   510k|        return sign_extend32(v, bits);
 1535|   510k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend32_4Ej:
 1540|   255k|    static noinline int noinline_sign_extend32_4(unsigned v) noexcept {
 1541|   255k|        return sign_extend32(v, 4);
 1542|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend32_8Ej:
 1543|   255k|    static noinline int noinline_sign_extend32_8(unsigned v) noexcept {
 1544|   255k|        return sign_extend32(v, 8);
 1545|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_16Ej:
 1546|   255k|    static noinline int noinline_sign_extend32_16(unsigned v) noexcept {
 1547|   255k|        return sign_extend32(v, 16);
 1548|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_24Ej:
 1549|   255k|    static noinline int noinline_sign_extend32_24(unsigned v) noexcept {
 1550|   255k|        return sign_extend32(v, 24);
 1551|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_32Ej:
 1552|   255k|    static noinline int noinline_sign_extend32_32(unsigned v) noexcept {
 1553|   255k|        return sign_extend32(v, 32);
 1554|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_xign_extend32Ejj:
 1577|   510k|    static noinline int noinline_xign_extend32(unsigned v, unsigned bits) noexcept {
 1578|   510k|        return xign_extend32(v, bits);
 1579|   510k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113xign_extend32Ejj:
 1325|  1.78M|static forceinline constexpr int xign_extend32(unsigned v, unsigned bits) noexcept {
 1326|  1.78M|    return ACC_ICAST(int, v << (32 - bits)) >> (32 - bits);
  ------------------
  |  | 1549|  1.78M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.78M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1327|  1.78M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend32_4Ej:
 1584|   255k|    static noinline int noinline_xign_extend32_4(unsigned v) noexcept {
 1585|   255k|        return xign_extend32(v, 4);
 1586|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend32_8Ej:
 1587|   255k|    static noinline int noinline_xign_extend32_8(unsigned v) noexcept {
 1588|   255k|        return xign_extend32(v, 8);
 1589|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_16Ej:
 1590|   255k|    static noinline int noinline_xign_extend32_16(unsigned v) noexcept {
 1591|   255k|        return xign_extend32(v, 16);
 1592|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_24Ej:
 1593|   255k|    static noinline int noinline_xign_extend32_24(unsigned v) noexcept {
 1594|   255k|        return xign_extend32(v, 24);
 1595|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_32Ej:
 1596|   255k|    static noinline int noinline_xign_extend32_32(unsigned v) noexcept {
 1597|   255k|        return xign_extend32(v, 32);
 1598|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_yign_extend32Ejj:
 1621|   510k|    static noinline int noinline_yign_extend32(unsigned v, unsigned bits) noexcept {
 1622|   510k|        return yign_extend32(v, bits);
 1623|   510k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113yign_extend32Ejj:
 1332|  1.78M|static forceinline constexpr int yign_extend32(unsigned v, unsigned bits) noexcept {
 1333|  1.78M|    const unsigned sign_bit = 1u << (bits - 1);
 1334|  1.78M|    return ACC_ICAST(int, (v & (sign_bit - 1)) - (v & sign_bit));
  ------------------
  |  | 1549|  1.78M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.78M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1335|  1.78M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend32_4Ej:
 1628|   255k|    static noinline int noinline_yign_extend32_4(unsigned v) noexcept {
 1629|   255k|        return yign_extend32(v, 4);
 1630|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend32_8Ej:
 1631|   255k|    static noinline int noinline_yign_extend32_8(unsigned v) noexcept {
 1632|   255k|        return yign_extend32(v, 8);
 1633|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_16Ej:
 1634|   255k|    static noinline int noinline_yign_extend32_16(unsigned v) noexcept {
 1635|   255k|        return yign_extend32(v, 16);
 1636|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_24Ej:
 1637|   255k|    static noinline int noinline_yign_extend32_24(unsigned v) noexcept {
 1638|   255k|        return yign_extend32(v, 24);
 1639|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_32Ej:
 1640|   255k|    static noinline int noinline_yign_extend32_32(unsigned v) noexcept {
 1641|   255k|        return yign_extend32(v, 32);
 1642|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_x_unsign_extend32Ejj:
 1665|   127k|    static noinline unsigned noinline_x_unsign_extend32(unsigned v, unsigned bits) noexcept {
 1666|   127k|        return x_unsign_extend32(v, bits);
 1667|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_117x_unsign_extend32Ejj:
 1341|   765k|static forceinline constexpr unsigned x_unsign_extend32(unsigned v, unsigned bits) noexcept {
 1342|   765k|    return ACC_ICAST(unsigned, v << (32 - bits)) >> (32 - bits);
  ------------------
  |  | 1549|   765k|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   765k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1343|   765k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE28noinline_x_unsign_extend32_4Ej:
 1673|   127k|    static noinline unsigned noinline_x_unsign_extend32_4(unsigned v) noexcept {
 1674|   127k|        return x_unsign_extend32(v, 4);
 1675|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE28noinline_x_unsign_extend32_8Ej:
 1676|   127k|    static noinline unsigned noinline_x_unsign_extend32_8(unsigned v) noexcept {
 1677|   127k|        return x_unsign_extend32(v, 8);
 1678|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend32_16Ej:
 1679|   127k|    static noinline unsigned noinline_x_unsign_extend32_16(unsigned v) noexcept {
 1680|   127k|        return x_unsign_extend32(v, 16);
 1681|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend32_24Ej:
 1682|   127k|    static noinline unsigned noinline_x_unsign_extend32_24(unsigned v) noexcept {
 1683|   127k|        return x_unsign_extend32(v, 24);
 1684|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend32_32Ej:
 1685|   127k|    static noinline unsigned noinline_x_unsign_extend32_32(unsigned v) noexcept {
 1686|   127k|        return x_unsign_extend32(v, 32);
 1687|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_sign_extend64Eyj:
 1536|   510k|    static noinline upx_int64_t noinline_sign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1537|   510k|        return sign_extend64(v, bits);
 1538|   510k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend64_4Ey:
 1555|   255k|    static noinline upx_int64_t noinline_sign_extend64_4(upx_uint64_t v) noexcept {
 1556|   255k|        return sign_extend64(v, 4);
 1557|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend64_8Ey:
 1558|   255k|    static noinline upx_int64_t noinline_sign_extend64_8(upx_uint64_t v) noexcept {
 1559|   255k|        return sign_extend64(v, 8);
 1560|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_16Ey:
 1561|   255k|    static noinline upx_int64_t noinline_sign_extend64_16(upx_uint64_t v) noexcept {
 1562|   255k|        return sign_extend64(v, 16);
 1563|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_24Ey:
 1564|   255k|    static noinline upx_int64_t noinline_sign_extend64_24(upx_uint64_t v) noexcept {
 1565|   255k|        return sign_extend64(v, 24);
 1566|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_32Ey:
 1567|   255k|    static noinline upx_int64_t noinline_sign_extend64_32(upx_uint64_t v) noexcept {
 1568|   255k|        return sign_extend64(v, 32);
 1569|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_48Ey:
 1570|   255k|    static noinline upx_int64_t noinline_sign_extend64_48(upx_uint64_t v) noexcept {
 1571|   255k|        return sign_extend64(v, 48);
 1572|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_64Ey:
 1573|   255k|    static noinline upx_int64_t noinline_sign_extend64_64(upx_uint64_t v) noexcept {
 1574|   255k|        return sign_extend64(v, 64);
 1575|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_xign_extend64Eyj:
 1580|   510k|    static noinline upx_int64_t noinline_xign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1581|   510k|        return xign_extend64(v, bits);
 1582|   510k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113xign_extend64Eyj:
 1328|  2.29M|static forceinline constexpr upx_int64_t xign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1329|  2.29M|    return ACC_ICAST(upx_int64_t, v << (64 - bits)) >> (64 - bits);
  ------------------
  |  | 1549|  2.29M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.29M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1330|  2.29M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend64_4Ey:
 1599|   255k|    static noinline upx_int64_t noinline_xign_extend64_4(upx_uint64_t v) noexcept {
 1600|   255k|        return xign_extend64(v, 4);
 1601|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend64_8Ey:
 1602|   255k|    static noinline upx_int64_t noinline_xign_extend64_8(upx_uint64_t v) noexcept {
 1603|   255k|        return xign_extend64(v, 8);
 1604|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_16Ey:
 1605|   255k|    static noinline upx_int64_t noinline_xign_extend64_16(upx_uint64_t v) noexcept {
 1606|   255k|        return xign_extend64(v, 16);
 1607|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_24Ey:
 1608|   255k|    static noinline upx_int64_t noinline_xign_extend64_24(upx_uint64_t v) noexcept {
 1609|   255k|        return xign_extend64(v, 24);
 1610|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_32Ey:
 1611|   255k|    static noinline upx_int64_t noinline_xign_extend64_32(upx_uint64_t v) noexcept {
 1612|   255k|        return xign_extend64(v, 32);
 1613|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_48Ey:
 1614|   255k|    static noinline upx_int64_t noinline_xign_extend64_48(upx_uint64_t v) noexcept {
 1615|   255k|        return xign_extend64(v, 48);
 1616|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_64Ey:
 1617|   255k|    static noinline upx_int64_t noinline_xign_extend64_64(upx_uint64_t v) noexcept {
 1618|   255k|        return xign_extend64(v, 64);
 1619|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_yign_extend64Eyj:
 1624|   510k|    static noinline upx_int64_t noinline_yign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1625|   510k|        return yign_extend64(v, bits);
 1626|   510k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113yign_extend64Eyj:
 1336|  2.29M|static forceinline constexpr upx_int64_t yign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1337|  2.29M|    const upx_uint64_t sign_bit = upx_uint64_t(1) << (bits - 1);
 1338|  2.29M|    return ACC_ICAST(upx_int64_t, (v & (sign_bit - 1)) - (v & sign_bit));
  ------------------
  |  | 1549|  2.29M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.29M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1339|  2.29M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend64_4Ey:
 1643|   255k|    static noinline upx_int64_t noinline_yign_extend64_4(upx_uint64_t v) noexcept {
 1644|   255k|        return yign_extend64(v, 4);
 1645|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend64_8Ey:
 1646|   255k|    static noinline upx_int64_t noinline_yign_extend64_8(upx_uint64_t v) noexcept {
 1647|   255k|        return yign_extend64(v, 8);
 1648|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_16Ey:
 1649|   255k|    static noinline upx_int64_t noinline_yign_extend64_16(upx_uint64_t v) noexcept {
 1650|   255k|        return yign_extend64(v, 16);
 1651|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_24Ey:
 1652|   255k|    static noinline upx_int64_t noinline_yign_extend64_24(upx_uint64_t v) noexcept {
 1653|   255k|        return yign_extend64(v, 24);
 1654|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_32Ey:
 1655|   255k|    static noinline upx_int64_t noinline_yign_extend64_32(upx_uint64_t v) noexcept {
 1656|   255k|        return yign_extend64(v, 32);
 1657|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_48Ey:
 1658|   255k|    static noinline upx_int64_t noinline_yign_extend64_48(upx_uint64_t v) noexcept {
 1659|   255k|        return yign_extend64(v, 48);
 1660|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_64Ey:
 1661|   255k|    static noinline upx_int64_t noinline_yign_extend64_64(upx_uint64_t v) noexcept {
 1662|   255k|        return yign_extend64(v, 64);
 1663|   255k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_x_unsign_extend64Eyj:
 1669|   127k|        noexcept {
 1670|   127k|        return x_unsign_extend64(v, bits);
 1671|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_117x_unsign_extend64Eyj:
 1345|  1.02M|                                                            unsigned bits) noexcept {
 1346|  1.02M|    return ACC_ICAST(upx_uint64_t, v << (64 - bits)) >> (64 - bits);
  ------------------
  |  | 1549|  1.02M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.02M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1347|  1.02M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE28noinline_x_unsign_extend64_4Ey:
 1688|   127k|    static noinline upx_uint64_t noinline_x_unsign_extend64_4(upx_uint64_t v) noexcept {
 1689|   127k|        return x_unsign_extend64(v, 4);
 1690|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE28noinline_x_unsign_extend64_8Ey:
 1691|   127k|    static noinline upx_uint64_t noinline_x_unsign_extend64_8(upx_uint64_t v) noexcept {
 1692|   127k|        return x_unsign_extend64(v, 8);
 1693|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_16Ey:
 1694|   127k|    static noinline upx_uint64_t noinline_x_unsign_extend64_16(upx_uint64_t v) noexcept {
 1695|   127k|        return x_unsign_extend64(v, 16);
 1696|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_24Ey:
 1697|   127k|    static noinline upx_uint64_t noinline_x_unsign_extend64_24(upx_uint64_t v) noexcept {
 1698|   127k|        return x_unsign_extend64(v, 24);
 1699|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_32Ey:
 1700|   127k|    static noinline upx_uint64_t noinline_x_unsign_extend64_32(upx_uint64_t v) noexcept {
 1701|   127k|        return x_unsign_extend64(v, 32);
 1702|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_48Ey:
 1703|   127k|    static noinline upx_uint64_t noinline_x_unsign_extend64_48(upx_uint64_t v) noexcept {
 1704|   127k|        return x_unsign_extend64(v, 48);
 1705|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_64Ey:
 1706|   127k|    static noinline upx_uint64_t noinline_x_unsign_extend64_64(upx_uint64_t v) noexcept {
 1707|   127k|        return x_unsign_extend64(v, 64);
 1708|   127k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesEy:
 1710|  15.9k|    static noinline bool noinline_mem_size_valid_bytes(upx_uint64_t bytes) noexcept {
 1711|  15.9k|        return mem_size_valid_bytes(bytes);
 1712|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_mem_sizeEyy:
 1714|  15.9k|        may_throw {
 1715|  15.9k|        return mem_size(element_size, n);
 1716|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_mem_size_get_nEyy:
 1718|  15.9k|        may_throw {
 1719|  15.9k|        return mem_size_get_n(element_size, n);
 1720|  15.9k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_32v:
 2246|  15.9k|TEST_CASE("upx::run_time 2") {
 2247|  15.9k|    const upx_ptraddr_t p = upx_ptraddr_t(acc_vget_int(1, 0));
 2248|  15.9k|    const upx_ptraddr_t a = upx_ptraddr_t(acc_vget_int(8, 0));
 2249|  15.9k|    assert_noexcept2(TestCT::noinline_has_single_bit(p));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2250|  15.9k|    assert_noexcept2(TestCT::noinline_align_down(p, a) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2251|  15.9k|    assert_noexcept2(TestCT::noinline_align_down_gap(p, a) == 1);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2252|  15.9k|    assert_noexcept2(TestCT::noinline_align_up(p, a) == 8);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2253|  15.9k|    assert_noexcept2(TestCT::noinline_align_up_gap(p, a) == 7);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2254|  15.9k|    assert_noexcept2(TestCT::noinline_align_down_16(p) == 0);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2255|  15.9k|    assert_noexcept2(TestCT::noinline_align_down_gap_16(p) == 1);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2256|  15.9k|    assert_noexcept2(TestCT::noinline_align_up_16(p) == 16);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2257|  15.9k|    assert_noexcept2(TestCT::noinline_align_up_gap_16(p) == 15);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2258|  15.9k|    alignas(16) static byte b[16] = {};
 2259|  15.9k|    assert_noexcept2(TestCT::noinline_ptr_align_down(b + 1, a) != nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2260|  15.9k|    assert_noexcept2(TestCT::noinline_ptr_align_up(b + 1, a) != nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2261|  15.9k|    assert_noexcept2(TestCT::noinline_ptr_align_down_16(b + 1) != nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2262|  15.9k|    assert_noexcept2(TestCT::noinline_ptr_align_up_16(b + 1) != nullptr);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2263|  15.9k|#if !defined(upx_fake_alignas_16)
 2264|       |#if 1 && (ACC_OS_DOS32) && defined(__DJGPP__)
 2265|       |    // @COMPILER_BUG @GCC_BUG
 2266|       |#else
 2267|  15.9k|    assert_noexcept2(ptr_is_aligned(b, 16));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2268|  15.9k|    assert_noexcept2(TestCT::noinline_ptr_align_down(b + 1, a) == b);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2269|  15.9k|    assert_noexcept2(TestCT::noinline_ptr_align_up(b + 1, a) == b + 8);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2270|  15.9k|    assert_noexcept2(TestCT::noinline_ptr_align_down_16(b + 1) == b);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2271|  15.9k|    assert_noexcept2(TestCT::noinline_ptr_align_up_16(b + 1) == b + 16);
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2272|  15.9k|#endif
 2273|  15.9k|#endif
 2274|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_has_single_bitEm:
 1174|  15.9k|    static noinline bool noinline_has_single_bit(upx_ptraddr_t p) noexcept {
 1175|  15.9k|        return upx::has_single_bit(p);
 1176|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT19noinline_align_downEmm:
 1178|  15.9k|    static noinline upx_ptraddr_t noinline_align_down(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1179|  15.9k|        return upx::align_down(p, a);
 1180|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_align_down_gapEmm:
 1182|  15.9k|        noexcept {
 1183|  15.9k|        return upx::align_down_gap(p, a);
 1184|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_align_upEmm:
 1185|  15.9k|    static noinline upx_ptraddr_t noinline_align_up(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1186|  15.9k|        return upx::align_up(p, a);
 1187|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_align_up_gapEmm:
 1188|  15.9k|    static noinline upx_ptraddr_t noinline_align_up_gap(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1189|  15.9k|        return upx::align_up_gap(p, a);
 1190|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT22noinline_align_down_16Em:
 1192|  15.9k|    static noinline upx_ptraddr_t noinline_align_down_16(upx_ptraddr_t p) noexcept {
 1193|  15.9k|        return upx::align_down(p, upx_ptraddr_t(16));
 1194|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_align_down_gap_16Em:
 1195|  15.9k|    static noinline upx_ptraddr_t noinline_align_down_gap_16(upx_ptraddr_t p) noexcept {
 1196|  15.9k|        return upx::align_down_gap(p, upx_ptraddr_t(16));
 1197|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT20noinline_align_up_16Em:
 1198|  15.9k|    static noinline upx_ptraddr_t noinline_align_up_16(upx_ptraddr_t p) noexcept {
 1199|  15.9k|        return upx::align_up(p, upx_ptraddr_t(16));
 1200|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_align_up_gap_16Em:
 1201|  15.9k|    static noinline upx_ptraddr_t noinline_align_up_gap_16(upx_ptraddr_t p) noexcept {
 1202|  15.9k|        return upx::align_up_gap(p, upx_ptraddr_t(16));
 1203|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_ptr_align_downEPhm:
 1205|  31.8k|    static noinline byte *noinline_ptr_align_down(byte * p, size_t a) noexcept {
 1206|  31.8k|        return ptr_align_down(p, a);
 1207|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_ptr_align_upEPhm:
 1208|  31.8k|    static noinline byte *noinline_ptr_align_up(byte * p, size_t a) noexcept {
 1209|  31.8k|        return ptr_align_up(p, a);
 1210|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_ptr_align_down_16EPh:
 1212|  31.8k|    static noinline byte *noinline_ptr_align_down_16(byte * p) noexcept {
 1213|  31.8k|        return ptr_align_down(p, 16);
 1214|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_ptr_align_up_16EPh:
 1215|  31.8k|    static noinline byte *noinline_ptr_align_up_16(byte * p) noexcept {
 1216|  31.8k|        return ptr_align_up(p, 16);
 1217|  31.8k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_34v:
 2528|  15.9k|TEST_CASE("codegen constant") {
 2529|  15.9k|    const int n = acc_vget_int(0, 0);
 2530|  15.9k|    const int a = acc_vget_int(0, 0);
 2531|  15.9k|    const int b = acc_vget_int(1, 0);
 2532|  15.9k|    {
 2533|  15.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_int8_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2534|  15.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint8_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2535|  15.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_int16_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2536|  15.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint16_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2537|  15.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_int32_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2538|  15.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint32_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2539|  15.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_int64_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2540|  15.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint64_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2541|       |
 2542|  15.9k|        assert_noexcept2((TestConstant::noinline_one(upx_int8_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2543|  15.9k|        assert_noexcept2((TestConstant::noinline_one(upx_uint8_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2544|  15.9k|        assert_noexcept2((TestConstant::noinline_one(upx_int16_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2545|  15.9k|        assert_noexcept2((TestConstant::noinline_one(upx_uint16_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2546|  15.9k|        assert_noexcept2((TestConstant::noinline_one(upx_int32_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2547|  15.9k|        assert_noexcept2((TestConstant::noinline_one(upx_uint32_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2548|  15.9k|        assert_noexcept2((TestConstant::noinline_one(upx_int64_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2549|  15.9k|        assert_noexcept2((TestConstant::noinline_one(upx_uint64_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2550|       |
 2551|  15.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int8_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2552|  15.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2553|  15.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int16_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2554|  15.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2555|  15.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int32_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2556|  15.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2557|  15.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int64_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2558|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2559|  15.9k|            (TestConstant::noinline_minus_one(upx_uint64_t(n)) == 0xffffffffffffffffULL));
 2560|       |
 2561|  15.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int8_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2562|  15.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2563|  15.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int16_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2564|  15.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint16_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2565|  15.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int32_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2566|  15.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint32_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2567|  15.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int64_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2568|  15.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint64_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2569|       |
 2570|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2571|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2572|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2573|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2574|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int32_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2575|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint32_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2576|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int64_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2577|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint64_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2578|       |
 2579|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2580|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2581|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2582|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2583|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int32_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2584|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2585|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int64_t(n)) == 0xffffffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2586|  15.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint64_t(n)) == 0xffffffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2587|       |
 2588|  15.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int8_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2589|  15.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint8_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2590|  15.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int16_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2591|  15.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint16_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2592|  15.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int32_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2593|  15.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint32_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2594|  15.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int64_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2595|  15.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint64_t(n)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2596|       |
 2597|  15.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int8_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2598|  15.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint8_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2599|  15.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int16_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2600|  15.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint16_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2601|  15.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int32_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2602|  15.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint32_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2603|  15.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int64_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2604|  15.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint64_t(n)) == 1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2605|       |
 2606|  15.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int8_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2607|  15.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2608|  15.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int16_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2609|  15.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2610|  15.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int32_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2611|  15.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2612|  15.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int64_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2613|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2614|  15.9k|            (TestConstant::noinline_add_minus_one(upx_uint64_t(n)) == 0xffffffffffffffffULL));
 2615|       |
 2616|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int8_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2617|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2618|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int16_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2619|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint16_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2620|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int32_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2621|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint32_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2622|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int64_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2623|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint64_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2624|       |
 2625|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2626|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2627|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2628|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2629|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int32_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2630|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint32_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2631|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int64_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2632|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint64_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2633|       |
 2634|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2635|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2636|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2637|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2638|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int32_t(n)) == -1));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2639|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2640|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int64_t(n)) == 0xffffffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2641|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint64_t(n)) == 0xffffffff));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2642|       |
 2643|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int8_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2644|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint8_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2645|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int16_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2646|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint16_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2647|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int32_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2648|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint32_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2649|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int64_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2650|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint64_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2651|       |
 2652|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int8_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2653|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint8_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2654|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int16_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2655|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint16_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2656|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int32_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2657|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint32_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2658|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int64_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2659|  15.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint64_t(n)) != 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2660|       |
 2661|  15.9k|        assert_noexcept2((TestConstant::noinline_mul(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2662|  15.9k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2663|  15.9k|        assert_noexcept2((TestConstant::noinline_mul(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2664|  15.9k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2665|  15.9k|        assert_noexcept2((TestConstant::noinline_mul(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2666|  15.9k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2667|  15.9k|        assert_noexcept2((TestConstant::noinline_mul(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2668|  15.9k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2669|       |
 2670|  15.9k|        assert_noexcept2((TestConstant::noinline_div(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2671|  15.9k|        assert_noexcept2((TestConstant::noinline_div(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2672|  15.9k|        assert_noexcept2((TestConstant::noinline_div(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2673|  15.9k|        assert_noexcept2((TestConstant::noinline_div(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2674|  15.9k|        assert_noexcept2((TestConstant::noinline_div(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2675|  15.9k|        assert_noexcept2((TestConstant::noinline_div(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2676|  15.9k|        assert_noexcept2((TestConstant::noinline_div(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2677|  15.9k|        assert_noexcept2((TestConstant::noinline_div(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2678|       |
 2679|  15.9k|        assert_noexcept2((TestConstant::noinline_mod(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2680|  15.9k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2681|  15.9k|        assert_noexcept2((TestConstant::noinline_mod(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2682|  15.9k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2683|  15.9k|        assert_noexcept2((TestConstant::noinline_mod(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2684|  15.9k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2685|  15.9k|        assert_noexcept2((TestConstant::noinline_mod(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2686|  15.9k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2687|       |
 2688|  15.9k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2689|  15.9k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2690|  15.9k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2691|  15.9k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2692|  15.9k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2693|  15.9k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2694|  15.9k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2695|  15.9k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2696|       |
 2697|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2698|  15.9k|            (TestConstant::noinline_add_mul(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 2699|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2700|  15.9k|            (TestConstant::noinline_add_mul(upx_uint8_t(n), upx_uint8_t(a), upx_uint8_t(b)) == 0));
 2701|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2702|  15.9k|            (TestConstant::noinline_add_mul(upx_int16_t(n), upx_int16_t(a), upx_int16_t(b)) == 0));
 2703|  15.9k|        assert_noexcept2((TestConstant::noinline_add_mul(upx_uint16_t(n), upx_uint16_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2704|  15.9k|                                                         upx_uint16_t(b)) == 0));
 2705|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2706|  15.9k|            (TestConstant::noinline_add_mul(upx_int32_t(n), upx_int32_t(a), upx_int32_t(b)) == 0));
 2707|  15.9k|        assert_noexcept2((TestConstant::noinline_add_mul(upx_uint32_t(n), upx_uint32_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2708|  15.9k|                                                         upx_uint32_t(b)) == 0));
 2709|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2710|  15.9k|            (TestConstant::noinline_add_mul(upx_int64_t(n), upx_int64_t(a), upx_int64_t(b)) == 0));
 2711|  15.9k|        assert_noexcept2((TestConstant::noinline_add_mul(upx_uint64_t(n), upx_uint64_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2712|  15.9k|                                                         upx_uint64_t(b)) == 0));
 2713|       |
 2714|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2715|  15.9k|            (TestConstant::noinline_add_div(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 2716|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2717|  15.9k|            (TestConstant::noinline_add_div(upx_uint8_t(n), upx_uint8_t(a), upx_uint8_t(b)) == 0));
 2718|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2719|  15.9k|            (TestConstant::noinline_add_div(upx_int16_t(n), upx_int16_t(a), upx_int16_t(b)) == 0));
 2720|  15.9k|        assert_noexcept2((TestConstant::noinline_add_div(upx_uint16_t(n), upx_uint16_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2721|  15.9k|                                                         upx_uint16_t(b)) == 0));
 2722|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2723|  15.9k|            (TestConstant::noinline_add_div(upx_int32_t(n), upx_int32_t(a), upx_int32_t(b)) == 0));
 2724|  15.9k|        assert_noexcept2((TestConstant::noinline_add_div(upx_uint32_t(n), upx_uint32_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2725|  15.9k|                                                         upx_uint32_t(b)) == 0));
 2726|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2727|  15.9k|            (TestConstant::noinline_add_div(upx_int64_t(n), upx_int64_t(a), upx_int64_t(b)) == 0));
 2728|  15.9k|        assert_noexcept2((TestConstant::noinline_add_div(upx_uint64_t(n), upx_uint64_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2729|  15.9k|                                                         upx_uint64_t(b)) == 0));
 2730|       |
 2731|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2732|  15.9k|            (TestConstant::noinline_add_mod(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 2733|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2734|  15.9k|            (TestConstant::noinline_add_mod(upx_uint8_t(n), upx_uint8_t(a), upx_uint8_t(b)) == 0));
 2735|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2736|  15.9k|            (TestConstant::noinline_add_mod(upx_int16_t(n), upx_int16_t(a), upx_int16_t(b)) == 0));
 2737|  15.9k|        assert_noexcept2((TestConstant::noinline_add_mod(upx_uint16_t(n), upx_uint16_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2738|  15.9k|                                                         upx_uint16_t(b)) == 0));
 2739|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2740|  15.9k|            (TestConstant::noinline_add_mod(upx_int32_t(n), upx_int32_t(a), upx_int32_t(b)) == 0));
 2741|  15.9k|        assert_noexcept2((TestConstant::noinline_add_mod(upx_uint32_t(n), upx_uint32_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2742|  15.9k|                                                         upx_uint32_t(b)) == 0));
 2743|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2744|  15.9k|            (TestConstant::noinline_add_mod(upx_int64_t(n), upx_int64_t(a), upx_int64_t(b)) == 0));
 2745|  15.9k|        assert_noexcept2((TestConstant::noinline_add_mod(upx_uint64_t(n), upx_uint64_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2746|  15.9k|                                                         upx_uint64_t(b)) == 0));
 2747|       |
 2748|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2749|  15.9k|            (TestConstant::noinline_add_divmod(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 2750|  15.9k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_uint8_t(n), upx_uint8_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2751|  15.9k|                                                            upx_uint8_t(b)) == 0));
 2752|  15.9k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_int16_t(n), upx_int16_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2753|  15.9k|                                                            upx_int16_t(b)) == 0));
 2754|  15.9k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_uint16_t(n), upx_uint16_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2755|  15.9k|                                                            upx_uint16_t(b)) == 0));
 2756|  15.9k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_int32_t(n), upx_int32_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2757|  15.9k|                                                            upx_int32_t(b)) == 0));
 2758|  15.9k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_uint32_t(n), upx_uint32_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2759|  15.9k|                                                            upx_uint32_t(b)) == 0));
 2760|  15.9k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_int64_t(n), upx_int64_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2761|  15.9k|                                                            upx_int64_t(b)) == 0));
 2762|  15.9k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_uint64_t(n), upx_uint64_t(a),
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2763|  15.9k|                                                            upx_uint64_t(b)) == 0));
 2764|       |
 2765|  15.9k|        typedef size_t T;
 2766|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_0<T>() == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2767|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_1<T>(n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2768|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_2<T>(n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2769|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_3<T>(n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2770|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_4<T>(n, n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2771|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_5<T>(n, n, n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2772|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_6<T>(n, n, n, n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2773|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_7<T>(n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2774|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_8<T>(n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2775|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_9<T>(n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2776|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_10<T>(n, n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2777|  15.9k|        assert_noexcept2((TestConstant::noinline_xadd_11<T>(n, n, n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2778|  15.9k|        assert_noexcept2(
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2779|  15.9k|            (TestConstant::noinline_xadd_12<T>(n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 2780|       |
 2781|  15.9k|        assert_noexcept2((TestConstant::noinline_return_1().a[0] == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2782|  15.9k|        assert_noexcept2((TestConstant::noinline_return_2().a[0] == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2783|  15.9k|        assert_noexcept2((TestConstant::noinline_return_3().a[0] == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2784|  15.9k|        assert_noexcept2((TestConstant::noinline_return_4().a[0] == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2785|  15.9k|        assert_noexcept2((TestConstant::noinline_return_5().a[0] == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2786|  15.9k|        assert_noexcept2((TestConstant::noinline_return_6().a[0] == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2787|  15.9k|        assert_noexcept2((TestConstant::noinline_return_7().a[0] == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2788|  15.9k|        assert_noexcept2((TestConstant::noinline_return_8().a[0] == 0));
  ------------------
  |  |  500|  15.9k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2789|  15.9k|    }
 2790|  15.9k|    (void) n;
 2791|  15.9k|    (void) a;
 2792|  15.9k|    (void) b;
 2793|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIaEET_S2_:
 2288|  15.9k|    static noinline T noinline_zero(T) noexcept {
 2289|  15.9k|        return T(0);
 2290|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIhEET_S2_:
 2288|  15.9k|    static noinline T noinline_zero(T) noexcept {
 2289|  15.9k|        return T(0);
 2290|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIsEET_S2_:
 2288|  15.9k|    static noinline T noinline_zero(T) noexcept {
 2289|  15.9k|        return T(0);
 2290|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroItEET_S2_:
 2288|  15.9k|    static noinline T noinline_zero(T) noexcept {
 2289|  15.9k|        return T(0);
 2290|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIiEET_S2_:
 2288|  15.9k|    static noinline T noinline_zero(T) noexcept {
 2289|  15.9k|        return T(0);
 2290|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIjEET_S2_:
 2288|  15.9k|    static noinline T noinline_zero(T) noexcept {
 2289|  15.9k|        return T(0);
 2290|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIxEET_S2_:
 2288|  15.9k|    static noinline T noinline_zero(T) noexcept {
 2289|  15.9k|        return T(0);
 2290|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIyEET_S2_:
 2288|  15.9k|    static noinline T noinline_zero(T) noexcept {
 2289|  15.9k|        return T(0);
 2290|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIaEET_S2_:
 2292|  15.9k|    static noinline T noinline_one(T) noexcept {
 2293|  15.9k|        return T(1);
 2294|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIhEET_S2_:
 2292|  15.9k|    static noinline T noinline_one(T) noexcept {
 2293|  15.9k|        return T(1);
 2294|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIsEET_S2_:
 2292|  15.9k|    static noinline T noinline_one(T) noexcept {
 2293|  15.9k|        return T(1);
 2294|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneItEET_S2_:
 2292|  15.9k|    static noinline T noinline_one(T) noexcept {
 2293|  15.9k|        return T(1);
 2294|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIiEET_S2_:
 2292|  15.9k|    static noinline T noinline_one(T) noexcept {
 2293|  15.9k|        return T(1);
 2294|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIjEET_S2_:
 2292|  15.9k|    static noinline T noinline_one(T) noexcept {
 2293|  15.9k|        return T(1);
 2294|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIxEET_S2_:
 2292|  15.9k|    static noinline T noinline_one(T) noexcept {
 2293|  15.9k|        return T(1);
 2294|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIyEET_S2_:
 2292|  15.9k|    static noinline T noinline_one(T) noexcept {
 2293|  15.9k|        return T(1);
 2294|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIaEET_S2_:
 2296|  15.9k|    static noinline T noinline_minus_one(T) noexcept {
 2297|  15.9k|        return T(T(0) - T(1));
 2298|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIhEET_S2_:
 2296|  15.9k|    static noinline T noinline_minus_one(T) noexcept {
 2297|  15.9k|        return T(T(0) - T(1));
 2298|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIsEET_S2_:
 2296|  15.9k|    static noinline T noinline_minus_one(T) noexcept {
 2297|  15.9k|        return T(T(0) - T(1));
 2298|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneItEET_S2_:
 2296|  15.9k|    static noinline T noinline_minus_one(T) noexcept {
 2297|  15.9k|        return T(T(0) - T(1));
 2298|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIiEET_S2_:
 2296|  15.9k|    static noinline T noinline_minus_one(T) noexcept {
 2297|  15.9k|        return T(T(0) - T(1));
 2298|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIjEET_S2_:
 2296|  15.9k|    static noinline T noinline_minus_one(T) noexcept {
 2297|  15.9k|        return T(T(0) - T(1));
 2298|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIxEET_S2_:
 2296|  15.9k|    static noinline T noinline_minus_one(T) noexcept {
 2297|  15.9k|        return T(T(0) - T(1));
 2298|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIyEET_S2_:
 2296|  15.9k|    static noinline T noinline_minus_one(T) noexcept {
 2297|  15.9k|        return T(T(0) - T(1));
 2298|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIaEET_S2_:
 2300|  15.9k|    static noinline T noinline_0xff(T) noexcept {
 2301|  15.9k|        return T(0xff);
 2302|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIhEET_S2_:
 2300|  15.9k|    static noinline T noinline_0xff(T) noexcept {
 2301|  15.9k|        return T(0xff);
 2302|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIsEET_S2_:
 2300|  15.9k|    static noinline T noinline_0xff(T) noexcept {
 2301|  15.9k|        return T(0xff);
 2302|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffItEET_S2_:
 2300|  15.9k|    static noinline T noinline_0xff(T) noexcept {
 2301|  15.9k|        return T(0xff);
 2302|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIiEET_S2_:
 2300|  15.9k|    static noinline T noinline_0xff(T) noexcept {
 2301|  15.9k|        return T(0xff);
 2302|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIjEET_S2_:
 2300|  15.9k|    static noinline T noinline_0xff(T) noexcept {
 2301|  15.9k|        return T(0xff);
 2302|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIxEET_S2_:
 2300|  15.9k|    static noinline T noinline_0xff(T) noexcept {
 2301|  15.9k|        return T(0xff);
 2302|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIyEET_S2_:
 2300|  15.9k|    static noinline T noinline_0xff(T) noexcept {
 2301|  15.9k|        return T(0xff);
 2302|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIaEET_S2_:
 2304|  15.9k|    static noinline T noinline_0xffff(T) noexcept {
 2305|  15.9k|        return T(0xffff);
 2306|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIhEET_S2_:
 2304|  15.9k|    static noinline T noinline_0xffff(T) noexcept {
 2305|  15.9k|        return T(0xffff);
 2306|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIsEET_S2_:
 2304|  15.9k|    static noinline T noinline_0xffff(T) noexcept {
 2305|  15.9k|        return T(0xffff);
 2306|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffItEET_S2_:
 2304|  15.9k|    static noinline T noinline_0xffff(T) noexcept {
 2305|  15.9k|        return T(0xffff);
 2306|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIiEET_S2_:
 2304|  15.9k|    static noinline T noinline_0xffff(T) noexcept {
 2305|  15.9k|        return T(0xffff);
 2306|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIjEET_S2_:
 2304|  15.9k|    static noinline T noinline_0xffff(T) noexcept {
 2305|  15.9k|        return T(0xffff);
 2306|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIxEET_S2_:
 2304|  15.9k|    static noinline T noinline_0xffff(T) noexcept {
 2305|  15.9k|        return T(0xffff);
 2306|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIyEET_S2_:
 2304|  15.9k|    static noinline T noinline_0xffff(T) noexcept {
 2305|  15.9k|        return T(0xffff);
 2306|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIaEET_S2_:
 2308|  15.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 2309|  15.9k|        return T(0xffffffff);
 2310|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIhEET_S2_:
 2308|  15.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 2309|  15.9k|        return T(0xffffffff);
 2310|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIsEET_S2_:
 2308|  15.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 2309|  15.9k|        return T(0xffffffff);
 2310|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffItEET_S2_:
 2308|  15.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 2309|  15.9k|        return T(0xffffffff);
 2310|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIiEET_S2_:
 2308|  15.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 2309|  15.9k|        return T(0xffffffff);
 2310|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIjEET_S2_:
 2308|  15.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 2309|  15.9k|        return T(0xffffffff);
 2310|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIxEET_S2_:
 2308|  15.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 2309|  15.9k|        return T(0xffffffff);
 2310|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIyEET_S2_:
 2308|  15.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 2309|  15.9k|        return T(0xffffffff);
 2310|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIaEET_S2_:
 2313|  15.9k|    static noinline T noinline_add_zero(T n) noexcept {
 2314|  15.9k|        return T(n + T(0));
 2315|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIhEET_S2_:
 2313|  15.9k|    static noinline T noinline_add_zero(T n) noexcept {
 2314|  15.9k|        return T(n + T(0));
 2315|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIsEET_S2_:
 2313|  15.9k|    static noinline T noinline_add_zero(T n) noexcept {
 2314|  15.9k|        return T(n + T(0));
 2315|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroItEET_S2_:
 2313|  15.9k|    static noinline T noinline_add_zero(T n) noexcept {
 2314|  15.9k|        return T(n + T(0));
 2315|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIiEET_S2_:
 2313|  15.9k|    static noinline T noinline_add_zero(T n) noexcept {
 2314|  15.9k|        return T(n + T(0));
 2315|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIjEET_S2_:
 2313|  15.9k|    static noinline T noinline_add_zero(T n) noexcept {
 2314|  15.9k|        return T(n + T(0));
 2315|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIxEET_S2_:
 2313|  15.9k|    static noinline T noinline_add_zero(T n) noexcept {
 2314|  15.9k|        return T(n + T(0));
 2315|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIyEET_S2_:
 2313|  15.9k|    static noinline T noinline_add_zero(T n) noexcept {
 2314|  15.9k|        return T(n + T(0));
 2315|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIaEET_S2_:
 2317|  15.9k|    static noinline T noinline_add_one(T n) noexcept {
 2318|  15.9k|        return T(n + T(1));
 2319|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIhEET_S2_:
 2317|  15.9k|    static noinline T noinline_add_one(T n) noexcept {
 2318|  15.9k|        return T(n + T(1));
 2319|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIsEET_S2_:
 2317|  15.9k|    static noinline T noinline_add_one(T n) noexcept {
 2318|  15.9k|        return T(n + T(1));
 2319|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneItEET_S2_:
 2317|  15.9k|    static noinline T noinline_add_one(T n) noexcept {
 2318|  15.9k|        return T(n + T(1));
 2319|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIiEET_S2_:
 2317|  15.9k|    static noinline T noinline_add_one(T n) noexcept {
 2318|  15.9k|        return T(n + T(1));
 2319|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIjEET_S2_:
 2317|  15.9k|    static noinline T noinline_add_one(T n) noexcept {
 2318|  15.9k|        return T(n + T(1));
 2319|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIxEET_S2_:
 2317|  15.9k|    static noinline T noinline_add_one(T n) noexcept {
 2318|  15.9k|        return T(n + T(1));
 2319|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIyEET_S2_:
 2317|  15.9k|    static noinline T noinline_add_one(T n) noexcept {
 2318|  15.9k|        return T(n + T(1));
 2319|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIaEET_S2_:
 2321|  15.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2322|  15.9k|        return T(n + T(T(0) - T(1)));
 2323|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIhEET_S2_:
 2321|  15.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2322|  15.9k|        return T(n + T(T(0) - T(1)));
 2323|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIsEET_S2_:
 2321|  15.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2322|  15.9k|        return T(n + T(T(0) - T(1)));
 2323|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneItEET_S2_:
 2321|  15.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2322|  15.9k|        return T(n + T(T(0) - T(1)));
 2323|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIiEET_S2_:
 2321|  15.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2322|  15.9k|        return T(n + T(T(0) - T(1)));
 2323|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIjEET_S2_:
 2321|  15.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2322|  15.9k|        return T(n + T(T(0) - T(1)));
 2323|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIxEET_S2_:
 2321|  15.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2322|  15.9k|        return T(n + T(T(0) - T(1)));
 2323|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIyEET_S2_:
 2321|  15.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2322|  15.9k|        return T(n + T(T(0) - T(1)));
 2323|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIaEET_S2_:
 2325|  15.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 2326|  15.9k|        return T(n + T(0xff));
 2327|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIhEET_S2_:
 2325|  15.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 2326|  15.9k|        return T(n + T(0xff));
 2327|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIsEET_S2_:
 2325|  15.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 2326|  15.9k|        return T(n + T(0xff));
 2327|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffItEET_S2_:
 2325|  15.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 2326|  15.9k|        return T(n + T(0xff));
 2327|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIiEET_S2_:
 2325|  15.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 2326|  15.9k|        return T(n + T(0xff));
 2327|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIjEET_S2_:
 2325|  15.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 2326|  15.9k|        return T(n + T(0xff));
 2327|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIxEET_S2_:
 2325|  15.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 2326|  15.9k|        return T(n + T(0xff));
 2327|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIyEET_S2_:
 2325|  15.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 2326|  15.9k|        return T(n + T(0xff));
 2327|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIaEET_S2_:
 2329|  15.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2330|  15.9k|        return T(n + T(0xffff));
 2331|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIhEET_S2_:
 2329|  15.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2330|  15.9k|        return T(n + T(0xffff));
 2331|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIsEET_S2_:
 2329|  15.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2330|  15.9k|        return T(n + T(0xffff));
 2331|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffItEET_S2_:
 2329|  15.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2330|  15.9k|        return T(n + T(0xffff));
 2331|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIiEET_S2_:
 2329|  15.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2330|  15.9k|        return T(n + T(0xffff));
 2331|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIjEET_S2_:
 2329|  15.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2330|  15.9k|        return T(n + T(0xffff));
 2331|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIxEET_S2_:
 2329|  15.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2330|  15.9k|        return T(n + T(0xffff));
 2331|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIyEET_S2_:
 2329|  15.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2330|  15.9k|        return T(n + T(0xffff));
 2331|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIaEET_S2_:
 2333|  15.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2334|  15.9k|        return T(n + T(0xffffffff));
 2335|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIhEET_S2_:
 2333|  15.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2334|  15.9k|        return T(n + T(0xffffffff));
 2335|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIsEET_S2_:
 2333|  15.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2334|  15.9k|        return T(n + T(0xffffffff));
 2335|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffItEET_S2_:
 2333|  15.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2334|  15.9k|        return T(n + T(0xffffffff));
 2335|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIiEET_S2_:
 2333|  15.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2334|  15.9k|        return T(n + T(0xffffffff));
 2335|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIjEET_S2_:
 2333|  15.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2334|  15.9k|        return T(n + T(0xffffffff));
 2335|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIxEET_S2_:
 2333|  15.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2334|  15.9k|        return T(n + T(0xffffffff));
 2335|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIyEET_S2_:
 2333|  15.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2334|  15.9k|        return T(n + T(0xffffffff));
 2335|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IaEET_S2_:
 2338|  15.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2339|  15.9k|        return T(n + T(0x0102030405060708ull));
 2340|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IhEET_S2_:
 2338|  15.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2339|  15.9k|        return T(n + T(0x0102030405060708ull));
 2340|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IsEET_S2_:
 2338|  15.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2339|  15.9k|        return T(n + T(0x0102030405060708ull));
 2340|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708ItEET_S2_:
 2338|  15.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2339|  15.9k|        return T(n + T(0x0102030405060708ull));
 2340|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IiEET_S2_:
 2338|  15.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2339|  15.9k|        return T(n + T(0x0102030405060708ull));
 2340|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IjEET_S2_:
 2338|  15.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2339|  15.9k|        return T(n + T(0x0102030405060708ull));
 2340|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IxEET_S2_:
 2338|  15.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2339|  15.9k|        return T(n + T(0x0102030405060708ull));
 2340|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IyEET_S2_:
 2338|  15.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2339|  15.9k|        return T(n + T(0x0102030405060708ull));
 2340|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IaEET_S2_:
 2342|  15.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2343|  15.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2344|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IhEET_S2_:
 2342|  15.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2343|  15.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2344|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IsEET_S2_:
 2342|  15.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2343|  15.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2344|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1ItEET_S2_:
 2342|  15.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2343|  15.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2344|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IiEET_S2_:
 2342|  15.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2343|  15.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2344|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IjEET_S2_:
 2342|  15.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2343|  15.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2344|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IxEET_S2_:
 2342|  15.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2343|  15.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2344|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IyEET_S2_:
 2342|  15.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2343|  15.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2344|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIaEET_S2_S2_:
 2347|  15.9k|    static noinline T noinline_mul(T a, T b) noexcept {
 2348|  15.9k|        return T(a * b);
 2349|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIhEET_S2_S2_:
 2347|  15.9k|    static noinline T noinline_mul(T a, T b) noexcept {
 2348|  15.9k|        return T(a * b);
 2349|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIsEET_S2_S2_:
 2347|  15.9k|    static noinline T noinline_mul(T a, T b) noexcept {
 2348|  15.9k|        return T(a * b);
 2349|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulItEET_S2_S2_:
 2347|  15.9k|    static noinline T noinline_mul(T a, T b) noexcept {
 2348|  15.9k|        return T(a * b);
 2349|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIiEET_S2_S2_:
 2347|  15.9k|    static noinline T noinline_mul(T a, T b) noexcept {
 2348|  15.9k|        return T(a * b);
 2349|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIjEET_S2_S2_:
 2347|  15.9k|    static noinline T noinline_mul(T a, T b) noexcept {
 2348|  15.9k|        return T(a * b);
 2349|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIxEET_S2_S2_:
 2347|  15.9k|    static noinline T noinline_mul(T a, T b) noexcept {
 2348|  15.9k|        return T(a * b);
 2349|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIyEET_S2_S2_:
 2347|  15.9k|    static noinline T noinline_mul(T a, T b) noexcept {
 2348|  15.9k|        return T(a * b);
 2349|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIaEET_S2_S2_:
 2351|  15.9k|    static noinline T noinline_div(T a, T b) noexcept {
 2352|  15.9k|        return T(a / b);
 2353|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIhEET_S2_S2_:
 2351|  15.9k|    static noinline T noinline_div(T a, T b) noexcept {
 2352|  15.9k|        return T(a / b);
 2353|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIsEET_S2_S2_:
 2351|  15.9k|    static noinline T noinline_div(T a, T b) noexcept {
 2352|  15.9k|        return T(a / b);
 2353|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divItEET_S2_S2_:
 2351|  15.9k|    static noinline T noinline_div(T a, T b) noexcept {
 2352|  15.9k|        return T(a / b);
 2353|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIiEET_S2_S2_:
 2351|  15.9k|    static noinline T noinline_div(T a, T b) noexcept {
 2352|  15.9k|        return T(a / b);
 2353|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIjEET_S2_S2_:
 2351|  15.9k|    static noinline T noinline_div(T a, T b) noexcept {
 2352|  15.9k|        return T(a / b);
 2353|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIxEET_S2_S2_:
 2351|  15.9k|    static noinline T noinline_div(T a, T b) noexcept {
 2352|  15.9k|        return T(a / b);
 2353|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIyEET_S2_S2_:
 2351|  15.9k|    static noinline T noinline_div(T a, T b) noexcept {
 2352|  15.9k|        return T(a / b);
 2353|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIaEET_S2_S2_:
 2355|  15.9k|    static noinline T noinline_mod(T a, T b) noexcept {
 2356|  15.9k|        return T(a % b);
 2357|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIhEET_S2_S2_:
 2355|  15.9k|    static noinline T noinline_mod(T a, T b) noexcept {
 2356|  15.9k|        return T(a % b);
 2357|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIsEET_S2_S2_:
 2355|  15.9k|    static noinline T noinline_mod(T a, T b) noexcept {
 2356|  15.9k|        return T(a % b);
 2357|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modItEET_S2_S2_:
 2355|  15.9k|    static noinline T noinline_mod(T a, T b) noexcept {
 2356|  15.9k|        return T(a % b);
 2357|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIiEET_S2_S2_:
 2355|  15.9k|    static noinline T noinline_mod(T a, T b) noexcept {
 2356|  15.9k|        return T(a % b);
 2357|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIjEET_S2_S2_:
 2355|  15.9k|    static noinline T noinline_mod(T a, T b) noexcept {
 2356|  15.9k|        return T(a % b);
 2357|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIxEET_S2_S2_:
 2355|  15.9k|    static noinline T noinline_mod(T a, T b) noexcept {
 2356|  15.9k|        return T(a % b);
 2357|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIyEET_S2_S2_:
 2355|  15.9k|    static noinline T noinline_mod(T a, T b) noexcept {
 2356|  15.9k|        return T(a % b);
 2357|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIaEET_S2_S2_:
 2359|  15.9k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2360|  15.9k|        return T(T(a / b) + T(a % b));
 2361|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIhEET_S2_S2_:
 2359|  15.9k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2360|  15.9k|        return T(T(a / b) + T(a % b));
 2361|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIsEET_S2_S2_:
 2359|  15.9k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2360|  15.9k|        return T(T(a / b) + T(a % b));
 2361|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodItEET_S2_S2_:
 2359|  15.9k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2360|  15.9k|        return T(T(a / b) + T(a % b));
 2361|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIiEET_S2_S2_:
 2359|  15.9k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2360|  15.9k|        return T(T(a / b) + T(a % b));
 2361|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIjEET_S2_S2_:
 2359|  15.9k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2360|  15.9k|        return T(T(a / b) + T(a % b));
 2361|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIxEET_S2_S2_:
 2359|  15.9k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2360|  15.9k|        return T(T(a / b) + T(a % b));
 2361|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIyEET_S2_S2_:
 2359|  15.9k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2360|  15.9k|        return T(T(a / b) + T(a % b));
 2361|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIaEET_S2_S2_S2_:
 2364|  15.9k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2365|  15.9k|        return T(n + T(a * b));
 2366|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIhEET_S2_S2_S2_:
 2364|  15.9k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2365|  15.9k|        return T(n + T(a * b));
 2366|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIsEET_S2_S2_S2_:
 2364|  15.9k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2365|  15.9k|        return T(n + T(a * b));
 2366|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulItEET_S2_S2_S2_:
 2364|  15.9k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2365|  15.9k|        return T(n + T(a * b));
 2366|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIiEET_S2_S2_S2_:
 2364|  15.9k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2365|  15.9k|        return T(n + T(a * b));
 2366|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIjEET_S2_S2_S2_:
 2364|  15.9k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2365|  15.9k|        return T(n + T(a * b));
 2366|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIxEET_S2_S2_S2_:
 2364|  15.9k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2365|  15.9k|        return T(n + T(a * b));
 2366|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIyEET_S2_S2_S2_:
 2364|  15.9k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2365|  15.9k|        return T(n + T(a * b));
 2366|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIaEET_S2_S2_S2_:
 2368|  15.9k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2369|  15.9k|        return T(n + T(a / b));
 2370|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIhEET_S2_S2_S2_:
 2368|  15.9k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2369|  15.9k|        return T(n + T(a / b));
 2370|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIsEET_S2_S2_S2_:
 2368|  15.9k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2369|  15.9k|        return T(n + T(a / b));
 2370|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divItEET_S2_S2_S2_:
 2368|  15.9k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2369|  15.9k|        return T(n + T(a / b));
 2370|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIiEET_S2_S2_S2_:
 2368|  15.9k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2369|  15.9k|        return T(n + T(a / b));
 2370|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIjEET_S2_S2_S2_:
 2368|  15.9k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2369|  15.9k|        return T(n + T(a / b));
 2370|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIxEET_S2_S2_S2_:
 2368|  15.9k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2369|  15.9k|        return T(n + T(a / b));
 2370|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIyEET_S2_S2_S2_:
 2368|  15.9k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2369|  15.9k|        return T(n + T(a / b));
 2370|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIaEET_S2_S2_S2_:
 2372|  15.9k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2373|  15.9k|        return T(n + T(a % b));
 2374|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIhEET_S2_S2_S2_:
 2372|  15.9k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2373|  15.9k|        return T(n + T(a % b));
 2374|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIsEET_S2_S2_S2_:
 2372|  15.9k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2373|  15.9k|        return T(n + T(a % b));
 2374|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modItEET_S2_S2_S2_:
 2372|  15.9k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2373|  15.9k|        return T(n + T(a % b));
 2374|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIiEET_S2_S2_S2_:
 2372|  15.9k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2373|  15.9k|        return T(n + T(a % b));
 2374|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIjEET_S2_S2_S2_:
 2372|  15.9k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2373|  15.9k|        return T(n + T(a % b));
 2374|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIxEET_S2_S2_S2_:
 2372|  15.9k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2373|  15.9k|        return T(n + T(a % b));
 2374|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIyEET_S2_S2_S2_:
 2372|  15.9k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2373|  15.9k|        return T(n + T(a % b));
 2374|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIaEET_S2_S2_S2_:
 2376|  15.9k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2377|  15.9k|        return T(n + T(T(a / b) + T(a % b)));
 2378|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIhEET_S2_S2_S2_:
 2376|  15.9k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2377|  15.9k|        return T(n + T(T(a / b) + T(a % b)));
 2378|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIsEET_S2_S2_S2_:
 2376|  15.9k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2377|  15.9k|        return T(n + T(T(a / b) + T(a % b)));
 2378|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodItEET_S2_S2_S2_:
 2376|  15.9k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2377|  15.9k|        return T(n + T(T(a / b) + T(a % b)));
 2378|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIiEET_S2_S2_S2_:
 2376|  15.9k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2377|  15.9k|        return T(n + T(T(a / b) + T(a % b)));
 2378|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIjEET_S2_S2_S2_:
 2376|  15.9k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2377|  15.9k|        return T(n + T(T(a / b) + T(a % b)));
 2378|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIxEET_S2_S2_S2_:
 2376|  15.9k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2377|  15.9k|        return T(n + T(T(a / b) + T(a % b)));
 2378|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIyEET_S2_S2_S2_:
 2376|  15.9k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2377|  15.9k|        return T(n + T(T(a / b) + T(a % b)));
 2378|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_0ImEET_v:
 2381|  15.9k|    static noinline T noinline_xadd_0() noexcept {
 2382|  15.9k|        return T(0);
 2383|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_1ImEET_S2_:
 2385|  15.9k|    static noinline T noinline_xadd_1(T n) noexcept {
 2386|  15.9k|        return T(n);
 2387|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_2ImEET_S2_S2_:
 2389|  15.9k|    static noinline T noinline_xadd_2(T n, T a) noexcept {
 2390|  15.9k|        return T(n + a);
 2391|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_3ImEET_S2_S2_S2_:
 2393|  15.9k|    static noinline T noinline_xadd_3(T n, T a, T b) noexcept {
 2394|  15.9k|        return T(n + a + b);
 2395|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_4ImEET_S2_S2_S2_S2_:
 2397|  15.9k|    static noinline T noinline_xadd_4(T n, T a, T b, T c) noexcept {
 2398|  15.9k|        return T(n + a + b + c);
 2399|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_5ImEET_S2_S2_S2_S2_S2_:
 2401|  15.9k|    static noinline T noinline_xadd_5(T n, T a, T b, T c, T d) noexcept {
 2402|  15.9k|        return T(n + a + b + c + d);
 2403|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_6ImEET_S2_S2_S2_S2_S2_S2_:
 2405|  15.9k|    static noinline T noinline_xadd_6(T n, T a, T b, T c, T d, T e) noexcept {
 2406|  15.9k|        return T(n + a + b + c + d + e);
 2407|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_7ImEET_S2_S2_S2_S2_S2_S2_S2_:
 2409|  15.9k|    static noinline T noinline_xadd_7(T n, T a, T b, T c, T d, T e, T f) noexcept {
 2410|  15.9k|        return T(n + a + b + c + d + e + f);
 2411|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_8ImEET_S2_S2_S2_S2_S2_S2_S2_S2_:
 2413|  15.9k|    static noinline T noinline_xadd_8(T n, T a, T b, T c, T d, T e, T f, T g) noexcept {
 2414|  15.9k|        return T(n + a + b + c + d + e + f + g);
 2415|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_9ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2417|  15.9k|    static noinline T noinline_xadd_9(T n, T a, T b, T c, T d, T e, T f, T g, T h) noexcept {
 2418|  15.9k|        return T(n + a + b + c + d + e + f + g + h);
 2419|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_10ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2421|  15.9k|    static noinline T noinline_xadd_10(T n, T a, T b, T c, T d, T e, T f, T g, T h, T i) noexcept {
 2422|  15.9k|        return T(n + a + b + c + d + e + f + g + h + i);
 2423|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_11ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2426|  15.9k|                                       T j) noexcept {
 2427|  15.9k|        return T(n + a + b + c + d + e + f + g + h + i + j);
 2428|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_12ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2431|  15.9k|                                       T k) noexcept {
 2432|  15.9k|        return T(n + a + b + c + d + e + f + g + h + i + j + k);
 2433|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_1Ev:
 2459|  15.9k|    static noinline R1 noinline_return_1() noexcept {
 2460|  15.9k|        R1 r = {};
 2461|  15.9k|        return r;
 2462|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_2Ev:
 2463|  15.9k|    static noinline R2 noinline_return_2() noexcept {
 2464|  15.9k|        R2 r = {};
 2465|  15.9k|        return r;
 2466|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_3Ev:
 2467|  15.9k|    static noinline R3 noinline_return_3() noexcept {
 2468|  15.9k|        R3 r = {};
 2469|  15.9k|        return r;
 2470|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_4Ev:
 2471|  15.9k|    static noinline R4 noinline_return_4() noexcept {
 2472|  15.9k|        R4 r = {};
 2473|  15.9k|        return r;
 2474|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_5Ev:
 2475|  15.9k|    static noinline R5 noinline_return_5() noexcept {
 2476|  15.9k|        R5 r = {};
 2477|  15.9k|        return r;
 2478|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_6Ev:
 2479|  15.9k|    static noinline R6 noinline_return_6() noexcept {
 2480|  15.9k|        R6 r = {};
 2481|  15.9k|        return r;
 2482|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_7Ev:
 2483|  15.9k|    static noinline R7 noinline_return_7() noexcept {
 2484|  15.9k|        R7 r = {};
 2485|  15.9k|        return r;
 2486|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_8Ev:
 2487|  15.9k|    static noinline R8 noinline_return_8() noexcept {
 2488|  15.9k|        R8 r = {};
 2489|  15.9k|        return r;
 2490|  15.9k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_36v:
 2795|  15.9k|TEST_CASE("codegen") {
 2796|  15.9k|    const int n = acc_vget_int(2, 0);
 2797|  15.9k|    {
 2798|  15.9k|        typedef byte T;
 2799|  15.9k|        T buf[4] = {0, 1, 2, 3};
 2800|  15.9k|        const T v = T(acc_vget_int(0, 0));
 2801|       |
 2802|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2803|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2804|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2805|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2806|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2807|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2808|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2809|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2810|       |
 2811|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2812|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2813|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2814|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2815|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2816|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2817|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2818|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2819|       |
 2820|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2821|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2822|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2823|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2824|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2825|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2826|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2827|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2828|       |
 2829|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2830|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint8_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2831|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2832|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2833|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2834|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2835|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2836|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2837|       |
 2838|      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|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2839|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2840|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2841|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2842|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2843|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2844|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2845|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2846|       |
 2847|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2848|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2849|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2850|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2851|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2852|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2853|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2854|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2855|       |
 2856|      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|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2857|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2858|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2859|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2860|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2861|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2862|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2863|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2864|       |
 2865|  15.9k|        (void) buf;
 2866|  15.9k|        (void) v;
 2867|  15.9k|    }
 2868|  15.9k|    {
 2869|  15.9k|        typedef upx_int32_t T;
 2870|  15.9k|        T buf[4] = {0, 1, 2, 3};
 2871|  15.9k|        const T v = T(acc_vget_int(0, 0));
 2872|       |
 2873|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2874|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2875|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2876|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2877|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2878|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2879|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2880|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2881|       |
 2882|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2883|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2884|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2885|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2886|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2887|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2888|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2889|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2890|       |
 2891|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2892|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2893|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2894|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2895|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2896|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2897|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2898|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2899|       |
 2900|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2901|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint8_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2902|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2903|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2904|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2905|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2906|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2907|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2908|       |
 2909|      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|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2910|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2911|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2912|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2913|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2914|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2915|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2916|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2917|       |
 2918|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2919|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2920|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2921|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2922|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2923|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2924|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2925|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2926|       |
 2927|      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|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2928|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2929|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2930|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2931|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2932|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2933|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2934|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2935|       |
 2936|  15.9k|        (void) buf;
 2937|  15.9k|        (void) v;
 2938|  15.9k|    }
 2939|  15.9k|    {
 2940|  15.9k|        typedef upx_uint64_t T;
 2941|  15.9k|        T buf[4] = {0, 1, 2, 3};
 2942|  15.9k|        const T v = T(acc_vget_int(0, 0));
 2943|       |
 2944|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2945|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2946|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2947|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2948|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2949|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2950|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2951|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2952|       |
 2953|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2954|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2955|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2956|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2957|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2958|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2959|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2960|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2961|       |
 2962|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2963|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2964|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2965|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2966|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2967|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2968|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2969|  15.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2970|       |
 2971|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2972|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint8_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2973|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2974|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2975|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2976|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2977|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2978|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2979|       |
 2980|      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|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2981|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2982|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2983|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2984|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2985|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2986|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2987|  15.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2988|       |
 2989|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2990|  15.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2991|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2992|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2993|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2994|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2995|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2996|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2997|       |
 2998|      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|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2999|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3000|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3001|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3002|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3003|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3004|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3005|  15.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3006|       |
 3007|  15.9k|        (void) buf;
 3008|  15.9k|        (void) v;
 3009|  15.9k|    }
 3010|  15.9k|#if (__SIZEOF_INT128__ == 16)
 3011|  15.9k|    {
 3012|  15.9k|        typedef upx_uint128_t T;
 3013|  15.9k|        T buf[4] = {0, 1, 2, 3};
 3014|       |
 3015|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3016|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3017|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3018|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3019|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3020|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3021|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3022|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3023|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int128_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3024|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint128_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3025|       |
 3026|  15.9k|        (void) buf;
 3027|  15.9k|    }
 3028|  15.9k|#endif
 3029|  15.9k|    {
 3030|  15.9k|        struct alignas(1) T16 final { byte a[16]; };
 3031|  15.9k|        typedef T16 T;
 3032|  15.9k|        T buf[2] = {};
 3033|       |
 3034|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3035|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3036|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3037|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3038|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3039|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3040|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3041|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3042|       |
 3043|  15.9k|        (void) buf;
 3044|  15.9k|    }
 3045|  15.9k|    {
 3046|  15.9k|        struct alignas(1) T32 final { byte a[32]; };
 3047|  15.9k|        typedef T32 T;
 3048|  15.9k|        T buf[2] = {};
 3049|       |
 3050|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3051|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3052|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3053|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3054|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3055|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3056|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3057|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3058|       |
 3059|  15.9k|        (void) buf;
 3060|  15.9k|    }
 3061|  15.9k|    {
 3062|  15.9k|        struct alignas(1) T64 final { byte a[64]; };
 3063|  15.9k|        typedef T64 T;
 3064|  15.9k|        T buf[2] = {};
 3065|       |
 3066|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3067|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3068|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3069|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3070|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3071|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3072|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3073|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3074|       |
 3075|  15.9k|        (void) buf;
 3076|  15.9k|    }
 3077|  15.9k|    {
 3078|  15.9k|        struct alignas(1) T473 final { byte a[473]; };
 3079|  15.9k|        typedef T473 T;
 3080|  15.9k|        T buf[2] = {};
 3081|       |
 3082|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3083|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3084|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3085|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3086|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3087|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3088|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3089|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3090|       |
 3091|  15.9k|        (void) buf;
 3092|  15.9k|    }
 3093|  15.9k|    {
 3094|  15.9k|        struct alignas(1) T1024 final { byte a[1024]; };
 3095|  15.9k|        typedef T1024 T;
 3096|  15.9k|        T buf[2] = {};
 3097|       |
 3098|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3099|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3100|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3101|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3102|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3103|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3104|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3105|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3106|       |
 3107|  15.9k|        (void) buf;
 3108|  15.9k|    }
 3109|  15.9k|    {
 3110|  15.9k|        struct alignas(1) T1025 final { byte a[1025]; };
 3111|  15.9k|        typedef T1025 T;
 3112|  15.9k|        T buf[2] = {};
 3113|       |
 3114|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3115|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3116|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3117|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3118|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3119|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3120|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3121|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3122|       |
 3123|  15.9k|        (void) buf;
 3124|  15.9k|    }
 3125|  15.9k|    {
 3126|  15.9k|        struct alignas(1) T1027 final { byte a[1027]; };
 3127|  15.9k|        typedef T1027 T;
 3128|  15.9k|        T buf[2] = {};
 3129|       |
 3130|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3131|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3132|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3133|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3134|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3135|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3136|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3137|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3138|       |
 3139|  15.9k|        (void) buf;
 3140|  15.9k|    }
 3141|  15.9k|    {
 3142|  15.9k|        struct alignas(1) T1031 final { byte a[1031]; };
 3143|  15.9k|        typedef T1031 T;
 3144|  15.9k|        T buf[2] = {};
 3145|       |
 3146|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3147|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3148|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3149|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3150|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3151|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3152|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3153|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3154|       |
 3155|  15.9k|        (void) buf;
 3156|  15.9k|    }
 3157|  15.9k|    {
 3158|  15.9k|        struct alignas(1) T1039 final { byte a[1039]; };
 3159|  15.9k|        typedef T1039 T;
 3160|  15.9k|        T buf[2] = {};
 3161|       |
 3162|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3163|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3164|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3165|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3166|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3167|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3168|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3169|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3170|       |
 3171|  15.9k|        (void) buf;
 3172|  15.9k|    }
 3173|  15.9k|    {
 3174|  15.9k|        struct alignas(1) T1055 final { byte a[1055]; };
 3175|  15.9k|        typedef T1055 T;
 3176|  15.9k|        T buf[2] = {};
 3177|       |
 3178|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3179|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3180|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3181|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3182|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3183|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3184|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3185|  15.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3186|       |
 3187|  15.9k|        (void) buf;
 3188|  15.9k|    }
 3189|  15.9k|    (void) n;
 3190|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIaEEPKhS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIhEEPKhS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIsEEPKhS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrItEEPKhS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIiEEPKhS4_T_:
 2495|  95.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  95.6k|        return p + n;
 2497|  95.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIjEEPKhS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIxEEPKhS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIyEEPKhS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIaEEDaPKhT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIhEEDaPKhT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIsEEDaPKhT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedItEEDaPKhT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIiEEDaPKhT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIjEEDaPKhT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIxEEDaPKhT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIyEEDaPKhT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIaEEhPKhT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIhEEhPKhT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIsEEhPKhT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrItEEhPKhT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIiEEhPKhT_:
 2499|  95.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  95.6k|        return p[n];
 2501|  95.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIjEEhPKhT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIxEEhPKhT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIyEEhPKhT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIaEEvPhT_h:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIhEEvPhT_h:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIsEEvPhT_h:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrItEEvPhT_h:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIiEEvPhT_h:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIjEEvPhT_h:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIxEEvPhT_h:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIyEEvPhT_h:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IaEEhPKhT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IhEEhPKhT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IsEEhPKhT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1ItEEhPKhT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IiEEhPKhT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IjEEhPKhT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IxEEhPKhT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IyEEhPKhT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IaEEvPhT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IhEEvPhT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IsEEvPhT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1ItEEvPhT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IiEEvPhT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IjEEvPhT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IxEEvPhT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IyEEvPhT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIaEEDaPKhT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIhEEDaPKhT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIsEEDaPKhT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedItEEDaPKhT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIiEEDaPKhT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIjEEDaPKhT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIxEEDaPKhT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIyEEDaPKhT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIaEEPKiS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIhEEPKiS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIsEEPKiS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrItEEPKiS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIiEEPKiS4_T_:
 2495|  95.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  95.6k|        return p + n;
 2497|  95.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIjEEPKiS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIxEEPKiS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIyEEPKiS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIaEEDaPKiT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIhEEDaPKiT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIsEEDaPKiT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedItEEDaPKiT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIiEEDaPKiT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIjEEDaPKiT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIxEEDaPKiT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIyEEDaPKiT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIaEEiPKiT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIhEEiPKiT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIsEEiPKiT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrItEEiPKiT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIiEEiPKiT_:
 2499|  95.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  95.6k|        return p[n];
 2501|  95.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIjEEiPKiT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIxEEiPKiT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIyEEiPKiT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIaEEvPiT_i:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIhEEvPiT_i:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIsEEvPiT_i:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrItEEvPiT_i:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIiEEvPiT_i:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIjEEvPiT_i:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIxEEvPiT_i:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIyEEvPiT_i:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IaEEiPKiT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IhEEiPKiT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IsEEiPKiT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1ItEEiPKiT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IiEEiPKiT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IjEEiPKiT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IxEEiPKiT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IyEEiPKiT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IaEEvPiT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IhEEvPiT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IsEEvPiT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1ItEEvPiT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IiEEvPiT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IjEEvPiT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IxEEvPiT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IyEEvPiT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIaEEDaPKiT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIhEEDaPKiT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIsEEDaPKiT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedItEEDaPKiT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIiEEDaPKiT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIjEEDaPKiT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIxEEDaPKiT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIyEEDaPKiT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIaEEPKyS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIhEEPKyS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIsEEPKyS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrItEEPKyS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIiEEPKyS4_T_:
 2495|  95.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  95.6k|        return p + n;
 2497|  95.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIjEEPKyS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIxEEPKyS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIyEEPKyS4_T_:
 2495|  31.8k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  31.8k|        return p + n;
 2497|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIaEEDaPKyT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIhEEDaPKyT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIsEEDaPKyT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedItEEDaPKyT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIiEEDaPKyT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIjEEDaPKyT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIxEEDaPKyT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIyEEDaPKyT_:
 2516|  15.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2517|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2518|  15.9k|        return noinline_add_ptr(p, promoted_type(n));
 2519|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIaEEyPKyT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIhEEyPKyT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIsEEyPKyT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrItEEyPKyT_:
 2499|  15.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  15.9k|        return p[n];
 2501|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIiEEyPKyT_:
 2499|  95.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  95.6k|        return p[n];
 2501|  95.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIjEEyPKyT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIxEEyPKyT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIyEEyPKyT_:
 2499|  31.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2500|  31.8k|        return p[n];
 2501|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIaEEvPyT_y:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIhEEvPyT_y:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIsEEvPyT_y:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrItEEvPyT_y:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIiEEvPyT_y:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIjEEvPyT_y:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIxEEvPyT_y:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIyEEvPyT_y:
 2503|  15.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2504|  15.9k|        p[n] = v;
 2505|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IaEEyPKyT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IhEEyPKyT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IsEEyPKyT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1ItEEyPKyT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IiEEyPKyT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IjEEyPKyT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IxEEyPKyT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IyEEyPKyT_:
 2507|  15.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2508|  15.9k|        return T(p[n] | 1);
 2509|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IaEEvPyT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IhEEvPyT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IsEEvPyT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1ItEEvPyT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IiEEvPyT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IjEEvPyT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IxEEvPyT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IyEEvPyT_:
 2511|  15.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2512|  15.9k|        p[n] = T(p[n] | 1);
 2513|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIaEEDaPKyT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIhEEDaPKyT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIsEEDaPKyT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedItEEDaPKyT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIiEEDaPKyT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIjEEDaPKyT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIxEEDaPKyT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIyEEDaPKyT_:
 2521|  15.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2522|  15.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 2523|  15.9k|        return noinline_get_ptr(p, promoted_type(n));
 2524|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIaEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIhEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIsEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrItEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIiEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIjEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIxEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIyEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrInEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIoEEPKoS4_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T16E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T16E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T16E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T16E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T16E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T16E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T16E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T16E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T32E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T32E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T32E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T32E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T32E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T32E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T32E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T32E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T64E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T64E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T64E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T64E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T64E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T64E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T64E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE3T64E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE4T473E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE4T473E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE4T473E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE4T473E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE4T473E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE4T473E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE4T473E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE4T473E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1024E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1024E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1024E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1024E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1024E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1024E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1024E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1024E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1025E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1025E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1025E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1025E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1025E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1025E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1025E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1025E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1027E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1027E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1027E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1027E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1027E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1027E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1027E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1027E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1031E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1031E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1031E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1031E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1031E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1031E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1031E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1031E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1039E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1039E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1039E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1039E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1039E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1039E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1039E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1039E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1055E16noinline_add_ptrIaEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1055E16noinline_add_ptrIhEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1055E16noinline_add_ptrIsEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1055E16noinline_add_ptrItEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1055E16noinline_add_ptrIiEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1055E16noinline_add_ptrIjEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1055E16noinline_add_ptrIxEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_36vE5T1055E16noinline_add_ptrIyEEPKS1_S5_T_:
 2495|  15.9k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2496|  15.9k|        return p + n;
 2497|  15.9k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_38v:
 3614|  15.9k|TEST_CASE("upx::TriBool") {
 3615|  15.9k|    using upx::TriBool, upx::tribool;
 3616|  15.9k|    static_assert(!tribool(false));
 3617|  15.9k|    static_assert(tribool(true));
 3618|  15.9k|    static_assert(!tribool(tribool::Third));
 3619|  15.9k|    TestTriBool<tribool>::test(false);
 3620|  15.9k|#if DEBUG || 1
 3621|  15.9k|    TestTriBool<TriBool<upx_int8_t> >::test(false);
 3622|  15.9k|    TestTriBool<TriBool<upx_uint8_t> >::test(false);
 3623|  15.9k|    TestTriBool<TriBool<upx_int16_t> >::test(false);
 3624|  15.9k|    TestTriBool<TriBool<upx_uint16_t> >::test(false);
 3625|  15.9k|    TestTriBool<TriBool<upx_int32_t> >::test(false);
 3626|  15.9k|    TestTriBool<TriBool<upx_uint32_t> >::test(false);
 3627|  15.9k|    TestTriBool<TriBool<upx_int64_t> >::test(false);
 3628|  15.9k|    TestTriBool<TriBool<upx_uint64_t> >::test(false);
 3629|  15.9k|    TestTriBool<TriBool<upx_int8_t, true> >::test(true);
 3630|  15.9k|    TestTriBool<TriBool<upx_uint8_t, true> >::test(true);
 3631|  15.9k|    TestTriBool<TriBool<upx_int16_t, true> >::test(true);
 3632|  15.9k|    TestTriBool<TriBool<upx_uint16_t, true> >::test(true);
 3633|  15.9k|    TestTriBool<TriBool<upx_int32_t, true> >::test(true);
 3634|  15.9k|    TestTriBool<TriBool<upx_uint32_t, true> >::test(true);
 3635|  15.9k|    TestTriBool<TriBool<upx_int64_t, true> >::test(true);
 3636|  15.9k|    TestTriBool<TriBool<upx_uint64_t, true> >::test(true);
 3637|  15.9k|#endif
 3638|  15.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIiLb0EEEE4testEb:
 3505|  31.8k|    static noinline void test(bool expect_true) {
 3506|  31.8k|        static_assert(std::is_class<T>::value);
 3507|  31.8k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  31.8k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  31.8k|        static_assert(std::is_standard_layout<T>::value);
 3510|  31.8k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  31.8k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  31.8k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  31.8k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  31.8k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  31.8k|#endif
 3527|  31.8k|        static_assert(!bool(T(false)));
 3528|  31.8k|        static_assert(bool(T(true)));
 3529|  31.8k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  31.8k|        static_assert(T(false) == T::False);
 3531|  31.8k|        static_assert(T(true) == T::True);
 3532|  31.8k|        static_assert(T(T::False) == T::False);
 3533|  31.8k|        static_assert(T(T::True) == T::True);
 3534|  31.8k|        static_assert(T(T::Third) == T::Third);
 3535|  31.8k|        static_assert(T(T::Third) == T(9));
 3536|  31.8k|        static_assert(T(8) == T(9));
 3537|  31.8k|        static_assert(!(T(0) == T(9)));
 3538|  31.8k|        static_assert(!(T(1) == T(9)));
 3539|  31.8k|        static_assert(T(T::Third) == 9);
 3540|  31.8k|        static_assert(T(8) == 9);
 3541|  31.8k|        static_assert(!(T(0) == 9));
 3542|  31.8k|        static_assert(!(T(1) == 9));
 3543|  31.8k|        constexpr T array[] = {false, true, T::Third};
 3544|  31.8k|        static_assert(array[0].isStrictFalse());
 3545|  31.8k|        static_assert(array[1].isStrictTrue());
 3546|  31.8k|        static_assert(array[2].isThird());
 3547|  31.8k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  31.8k|        T a;
 3549|  31.8k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  31.8k|        assert(!a);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  31.8k|        assert(!bool(a));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  31.8k|        assert((!a ? true : false));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  31.8k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  31.8k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  31.8k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  31.8k|        assert(!a.isThird());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  31.8k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  31.8k|        assert(!a);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  31.8k|        assert(!bool(a));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  31.8k|        assert((!a ? true : false));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  31.8k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  31.8k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  31.8k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  31.8k|        assert(!a.isThird());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  31.8k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  31.8k|        assert(a);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  31.8k|        assert(bool(a));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  31.8k|        assert((a ? true : false));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  31.8k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  31.8k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  31.8k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  31.8k|        assert(!a.isThird());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  31.8k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  31.8k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  31.8k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 0, False: 31.8k]
  ------------------
 3579|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  31.8k|        } else {
 3583|  31.8k|            assert(!a);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|  31.8k|            assert(!bool(a));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|  31.8k|            assert((!a ? true : false));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|  31.8k|        }
 3587|  31.8k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  31.8k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  31.8k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  31.8k|        assert(a.isThird());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  31.8k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  31.8k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 0, False: 31.8k]
  ------------------
 3594|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|      0|            assert((!a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  31.8k|        } else {
 3599|  31.8k|            assert(!a);
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|  31.8k|            assert(!bool(a));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|  31.8k|            assert((a ? false : true));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|  31.8k|            assert((!a ? true : false));
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|  31.8k|        }
 3604|  31.8k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  31.8k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  31.8k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  31.8k|        assert(a.isThird());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  31.8k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  31.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  31.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIaLb0EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 0, False: 15.9k]
  ------------------
 3579|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|  15.9k|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 0, False: 15.9k]
  ------------------
 3594|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|      0|            assert((!a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|  15.9k|            assert((a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|  15.9k|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIhLb0EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 0, False: 15.9k]
  ------------------
 3579|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|  15.9k|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 0, False: 15.9k]
  ------------------
 3594|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|      0|            assert((!a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|  15.9k|            assert((a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|  15.9k|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIsLb0EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 0, False: 15.9k]
  ------------------
 3579|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|  15.9k|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 0, False: 15.9k]
  ------------------
 3594|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|      0|            assert((!a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|  15.9k|            assert((a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|  15.9k|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolItLb0EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 0, False: 15.9k]
  ------------------
 3579|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|  15.9k|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 0, False: 15.9k]
  ------------------
 3594|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|      0|            assert((!a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|  15.9k|            assert((a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|  15.9k|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIjLb0EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 0, False: 15.9k]
  ------------------
 3579|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|  15.9k|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 0, False: 15.9k]
  ------------------
 3594|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|      0|            assert((!a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|  15.9k|            assert((a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|  15.9k|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIxLb0EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 0, False: 15.9k]
  ------------------
 3579|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|  15.9k|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 0, False: 15.9k]
  ------------------
 3594|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|      0|            assert((!a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|  15.9k|            assert((a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|  15.9k|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIyLb0EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 0, False: 15.9k]
  ------------------
 3579|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|  15.9k|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 0, False: 15.9k]
  ------------------
 3594|      0|            assert(a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|      0|            assert(bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|      0|            assert((a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|      0|            assert((!a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|  15.9k|            assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|  15.9k|            assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|  15.9k|            assert((a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|  15.9k|            assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|  15.9k|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIaLb1EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 15.9k, False: 0]
  ------------------
 3579|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|      0|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 15.9k, False: 0]
  ------------------
 3594|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|  15.9k|            assert((!a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|      0|            assert((a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|      0|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIhLb1EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 15.9k, False: 0]
  ------------------
 3579|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|      0|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 15.9k, False: 0]
  ------------------
 3594|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|  15.9k|            assert((!a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|      0|            assert((a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|      0|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIsLb1EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 15.9k, False: 0]
  ------------------
 3579|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|      0|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 15.9k, False: 0]
  ------------------
 3594|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|  15.9k|            assert((!a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|      0|            assert((a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|      0|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolItLb1EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 15.9k, False: 0]
  ------------------
 3579|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|      0|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 15.9k, False: 0]
  ------------------
 3594|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|  15.9k|            assert((!a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|      0|            assert((a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|      0|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIiLb1EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 15.9k, False: 0]
  ------------------
 3579|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|      0|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 15.9k, False: 0]
  ------------------
 3594|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|  15.9k|            assert((!a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|      0|            assert((a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|      0|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIjLb1EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 15.9k, False: 0]
  ------------------
 3579|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|      0|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 15.9k, False: 0]
  ------------------
 3594|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|  15.9k|            assert((!a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|      0|            assert((a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|      0|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIxLb1EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 15.9k, False: 0]
  ------------------
 3579|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|      0|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 15.9k, False: 0]
  ------------------
 3594|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|  15.9k|            assert((!a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|      0|            assert((a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|      0|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIyLb1EEEE4testEb:
 3505|  15.9k|    static noinline void test(bool expect_true) {
 3506|  15.9k|        static_assert(std::is_class<T>::value);
 3507|  15.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 3508|  15.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 3509|  15.9k|        static_assert(std::is_standard_layout<T>::value);
 3510|  15.9k|        static_assert(std::is_trivially_copyable<T>::value);
 3511|  15.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 3512|  15.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 3513|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 3514|       |        // broken compiler or broken ABI
 3515|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 3516|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3517|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3518|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3519|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 3520|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3521|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 3522|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 3523|       |#else
 3524|  15.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 3525|  15.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 3526|  15.9k|#endif
 3527|  15.9k|        static_assert(!bool(T(false)));
 3528|  15.9k|        static_assert(bool(T(true)));
 3529|  15.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 3530|  15.9k|        static_assert(T(false) == T::False);
 3531|  15.9k|        static_assert(T(true) == T::True);
 3532|  15.9k|        static_assert(T(T::False) == T::False);
 3533|  15.9k|        static_assert(T(T::True) == T::True);
 3534|  15.9k|        static_assert(T(T::Third) == T::Third);
 3535|  15.9k|        static_assert(T(T::Third) == T(9));
 3536|  15.9k|        static_assert(T(8) == T(9));
 3537|  15.9k|        static_assert(!(T(0) == T(9)));
 3538|  15.9k|        static_assert(!(T(1) == T(9)));
 3539|  15.9k|        static_assert(T(T::Third) == 9);
 3540|  15.9k|        static_assert(T(8) == 9);
 3541|  15.9k|        static_assert(!(T(0) == 9));
 3542|  15.9k|        static_assert(!(T(1) == 9));
 3543|  15.9k|        constexpr T array[] = {false, true, T::Third};
 3544|  15.9k|        static_assert(array[0].isStrictFalse());
 3545|  15.9k|        static_assert(array[1].isStrictTrue());
 3546|  15.9k|        static_assert(array[2].isThird());
 3547|  15.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 3548|  15.9k|        T a;
 3549|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3550|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3551|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3552|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3553|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3554|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3555|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3556|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3557|      0|        a = false;
 3558|  15.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3559|  15.9k|        assert(!a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3560|  15.9k|        assert(!bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3561|  15.9k|        assert((!a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3562|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3563|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3564|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3565|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3566|      0|        a = true;
 3567|  15.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3568|  15.9k|        assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3569|  15.9k|        assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3570|  15.9k|        assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3571|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3572|  15.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3573|  15.9k|        assert(a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3574|  15.9k|        assert(!a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3575|      0|        a = T::Third;
 3576|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3577|  15.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3578|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3578:13): [True: 15.9k, False: 0]
  ------------------
 3579|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3580|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3581|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3582|  15.9k|        } else {
 3583|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3584|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3585|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3586|      0|        }
 3587|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3588|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3589|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3590|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3591|      0|        a = 99;
 3592|  15.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3593|  15.9k|        if (expect_true) {
  ------------------
  |  Branch (3593:13): [True: 15.9k, False: 0]
  ------------------
 3594|  15.9k|            assert(a);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3595|  15.9k|            assert(bool(a));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3596|  15.9k|            assert((a ? true : false));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3597|  15.9k|            assert((!a ? false : true));
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3598|  15.9k|        } else {
 3599|      0|            assert(!a);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3600|      0|            assert(!bool(a));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3601|      0|            assert((a ? false : true));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3602|      0|            assert((!a ? true : false));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#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 (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3603|      0|        }
 3604|  15.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3605|  15.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3606|  15.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3607|  15.9k|        assert(a.isThird());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3608|      0|        mem_clear(&a);
 3609|  15.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3610|  15.9k|    }

dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
   35|  15.9k|TEST_CASE("raw_bytes ptr") {
   36|  15.9k|    upx_uint16_t *ptr = nullptr;
   37|  15.9k|    CHECK_NOTHROW(raw_bytes(ptr, 0));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   38|  15.9k|    CHECK_THROWS(raw_bytes(ptr, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   39|  15.9k|    CHECK_THROWS(raw_index_bytes(ptr, 0, 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   40|  15.9k|    CHECK_THROWS(raw_index_bytes(ptr, 1, 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   41|  15.9k|    CHECK_THROWS(raw_index_bytes(ptr, 0, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   42|  15.9k|    upx_uint16_t buf[4];
   43|  15.9k|    ptr = buf;
   44|  15.9k|    CHECK(ptr_udiff_bytes(raw_index_bytes(ptr, 1, 1), ptr) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|  15.9k|    CHECK(ptr_udiff_bytes(raw_index_bytes(ptr, 4, 0), ptr) == 8u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   46|  15.9k|    UNUSED(ptr);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   47|  15.9k|}
dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
   49|  15.9k|TEST_CASE("raw_bytes bounded array") {
   50|  15.9k|    upx_uint16_t buf[4];
   51|  15.9k|    CHECK_NOTHROW(raw_bytes(buf, 8));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   52|  15.9k|    CHECK_THROWS(raw_bytes(buf, 9));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  15.9k|    CHECK_NOTHROW(raw_index_bytes(buf, 4, 0));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  15.9k|    CHECK_THROWS(raw_index_bytes(buf, 4, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  15.9k|    CHECK_NOTHROW(raw_index_bytes(buf, 3, 2));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   56|  15.9k|    CHECK_THROWS(raw_index_bytes(buf, 3, 3));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   57|  15.9k|    CHECK(ptr_udiff_bytes(raw_index_bytes(buf, 1, 1), buf) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   58|  15.9k|    CHECK(ptr_udiff_bytes(raw_index_bytes(buf, 4, 0), buf) == 8u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   59|  15.9k|    UNUSED(buf);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   60|  15.9k|}
dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
   66|  47.8k|TEST_CASE("basic xspan usage") {
   67|  47.8k|    alignas(4) char buf[4] = {0, 1, 2, 3};
   68|       |
   69|  47.8k|    SUBCASE("XSPAN_x") {
  ------------------
  |  | 2944|  47.8k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  47.8k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  47.8k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  47.8k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  47.8k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 15.9k, False: 31.8k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  47.8k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
   70|  15.9k|        XSPAN_0(char) a0 = nullptr;
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   71|       |
   72|  15.9k|        XSPAN_0(char) b0 = buf;
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   73|  15.9k|        XSPAN_P(char) bp = buf;
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
   74|       |
   75|  15.9k|        XSPAN_0(char) c0 = XSPAN_0_MAKE(char, buf);
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(char) c0 = XSPAN_0_MAKE(char, buf);
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|  15.9k|        XSPAN_P(char) cp = XSPAN_P_MAKE(char, buf);
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(char) cp = XSPAN_P_MAKE(char, buf);
  ------------------
  |  |   96|  15.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|  15.9k|        XSPAN_S(char) cs = XSPAN_S_MAKE(char, buf, sizeof(buf));
  ------------------
  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(char) cs = XSPAN_S_MAKE(char, buf, sizeof(buf));
  ------------------
  |  |   97|  15.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   78|       |
   79|  15.9k|        XSPAN_0(const char) const x0 = XSPAN_0_MAKE(const char, buf);
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(const char) const x0 = XSPAN_0_MAKE(const char, buf);
  ------------------
  |  |   95|  15.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|  15.9k|        XSPAN_P(const char) const xp = XSPAN_P_MAKE(const char, buf);
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(const char) const xp = XSPAN_P_MAKE(const char, buf);
  ------------------
  |  |   96|  15.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  15.9k|        XSPAN_S(const char) const xs = XSPAN_S_MAKE(const char, buf, sizeof(buf));
  ------------------
  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(const char) const xs = XSPAN_S_MAKE(const char, buf, sizeof(buf));
  ------------------
  |  |   97|  15.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  15.9k|        XSPAN_P(const char) const yp = xs;
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
   83|  15.9k|        XSPAN_0(const char) const z0p = yp;
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   84|  15.9k|        XSPAN_0(const char) const z0s = xs;
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   85|       |
   86|  15.9k|        CHECK((a0 == nullptr));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  15.9k|        CHECK(c0 == b0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  15.9k|        CHECK(cp == bp);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|  15.9k|        CHECK(cs == bp);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|  15.9k|        CHECK(x0 == z0p);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   91|  15.9k|        CHECK(xp == z0s);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   92|       |
   93|  15.9k|        CHECK_NOTHROW(raw_bytes(a0, 0));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   94|  15.9k|        CHECK_THROWS(raw_bytes(a0, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   95|  15.9k|        CHECK_THROWS(raw_index_bytes(a0, 0, 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   96|       |
   97|  15.9k|        CHECK(raw_bytes(b0, 0) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  15.9k|        CHECK(raw_bytes(bp, 0) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|       |        // info: these will fail if we ever add an overload for bounded-arrays
  100|  15.9k|#if WITH_XSPAN >= 2
  101|  15.9k|        CHECK(b0.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  102|  15.9k|        CHECK(bp.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  15.9k|#endif
  104|  15.9k|        CHECK(raw_bytes(c0, 4) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  105|  15.9k|        CHECK(raw_index_bytes(c0, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  106|  15.9k|        CHECK(raw_bytes(cp, 4) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  107|  15.9k|        CHECK(raw_index_bytes(cp, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  108|  15.9k|        CHECK(raw_bytes(cs, 4) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  109|  15.9k|        CHECK(raw_index_bytes(cs, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  110|  15.9k|#if WITH_XSPAN >= 2
  111|  15.9k|        CHECK_THROWS(raw_bytes(cs, 5));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  112|  15.9k|        CHECK_THROWS(raw_index_bytes(cs, 1, 4));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  113|  15.9k|#endif
  114|       |
  115|  15.9k|        XSPAN_0(upx_uint16_t) c0_2 = XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2);
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(upx_uint16_t) c0_2 = XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  116|  15.9k|        XSPAN_P(upx_uint16_t) cp_2 = XSPAN_TYPE_CAST(upx_uint16_t, cp + 2);
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(upx_uint16_t) cp_2 = XSPAN_TYPE_CAST(upx_uint16_t, cp + 2);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  117|  15.9k|        XSPAN_S(upx_uint16_t) cs_2 = XSPAN_TYPE_CAST(upx_uint16_t, cs + 2);
  ------------------
  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(upx_uint16_t) cs_2 = XSPAN_TYPE_CAST(upx_uint16_t, cs + 2);
  ------------------
  |  |  120|  15.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  118|  15.9k|        CHECK(ptr_udiff_bytes(c0_2, c0) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  119|  15.9k|        CHECK(ptr_udiff_bytes(cp_2, c0) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  120|  15.9k|        CHECK(ptr_udiff_bytes(cs_2, c0) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  121|  15.9k|        CHECK(ptr_udiff_bytes(c0_2, cp) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  122|  15.9k|        CHECK(ptr_udiff_bytes(cp_2, cp) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  123|  15.9k|        CHECK(ptr_udiff_bytes(cs_2, cp) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  124|  15.9k|        CHECK(ptr_udiff_bytes(c0_2, cs) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  125|  15.9k|        CHECK(ptr_udiff_bytes(cp_2, cs) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  15.9k|        CHECK(ptr_udiff_bytes(cs_2, cs) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|  15.9k|        XSPAN_0(upx_uint16_t) c0_2b = XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1;
  ------------------
  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(upx_uint16_t) c0_2b = XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1;
  ------------------
  |  |  120|  31.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  128|  15.9k|        XSPAN_P(upx_uint16_t) cp_2b = XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1;
  ------------------
  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(upx_uint16_t) cp_2b = XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1;
  ------------------
  |  |  120|  31.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  129|  15.9k|        XSPAN_S(upx_uint16_t) cs_2b = XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1;
  ------------------
  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(upx_uint16_t) cs_2b = XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1;
  ------------------
  |  |  120|  31.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  130|  15.9k|        CHECK(c0_2 == c0_2b);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  131|  15.9k|        CHECK(cp_2 == cp_2b);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|  15.9k|        CHECK(cs_2 == cs_2b);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  133|       |
  134|  15.9k|        CHECK(sizeof(*c0) == 1u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  135|  15.9k|        CHECK(sizeof(*c0_2) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  15.9k|    }
  137|       |
  138|  47.8k|    SUBCASE("XSPAN_x_VAR") {
  ------------------
  |  | 2944|  47.8k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  47.8k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  47.8k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  47.8k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  47.8k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 15.9k, False: 31.8k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  47.8k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  139|  15.9k|        XSPAN_0_VAR(char, b0, buf);
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  140|  15.9k|        XSPAN_P_VAR(char, bp, buf);
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|       |
  142|  15.9k|        XSPAN_0_VAR(char, c0, buf, sizeof(buf));
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  15.9k|        XSPAN_P_VAR(char, cp, buf, sizeof(buf));
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  15.9k|        XSPAN_S_VAR(char, cs, buf, sizeof(buf));
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  145|       |
  146|  15.9k|        XSPAN_0_VAR(char, d0, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  147|  15.9k|        XSPAN_P_VAR(char, dp, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  148|  15.9k|        XSPAN_S_VAR(char, ds, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  149|       |
  150|  15.9k|        XSPAN_0_VAR(const char, const x0, buf, sizeof(buf));
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  151|  15.9k|        XSPAN_P_VAR(const char, const xp, buf, sizeof(buf));
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  152|  15.9k|        XSPAN_S_VAR(const char, const xs, buf, sizeof(buf));
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  153|  15.9k|        XSPAN_P_VAR(const char, const yp, xs);
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  154|  15.9k|        XSPAN_0_VAR(const char, const z0p, yp);
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  155|  15.9k|        XSPAN_0_VAR(const char, const z0s, xs);
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  156|       |
  157|  15.9k|        CHECK(c0 == b0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  158|  15.9k|        CHECK(cp == bp);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  159|  15.9k|        CHECK(cs == bp);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  15.9k|        CHECK(d0 == dp);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  161|  15.9k|        CHECK(d0 == ds);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  162|  15.9k|        CHECK(x0 == z0p);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  163|  15.9k|        CHECK(xp == z0s);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|       |
  165|  15.9k|#if WITH_XSPAN >= 1 || __cplusplus >= 201103L
  166|  15.9k|        XSPAN_0_VAR(char, a0, nullptr);
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|  15.9k|        CHECK((a0 == nullptr));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  168|  15.9k|        CHECK_NOTHROW(raw_bytes(a0, 0));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|  15.9k|        CHECK_THROWS(raw_bytes(a0, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  170|  15.9k|        CHECK_THROWS(raw_index_bytes(a0, 0, 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  171|  15.9k|#endif
  172|       |
  173|  15.9k|        CHECK(raw_bytes(b0, 0) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|  15.9k|        CHECK(raw_bytes(bp, 0) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|       |        // info: these will fail if we ever add an overload for bounded-arrays
  176|  15.9k|#if WITH_XSPAN >= 2
  177|  15.9k|        CHECK(b0.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  178|  15.9k|        CHECK(bp.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  179|  15.9k|#endif
  180|  15.9k|        CHECK(raw_bytes(c0, 4) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  181|  15.9k|        CHECK(raw_index_bytes(c0, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  182|  15.9k|        CHECK(raw_bytes(cp, 4) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  183|  15.9k|        CHECK(raw_index_bytes(cp, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  184|  15.9k|        CHECK(raw_bytes(cs, 4) == buf);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  185|  15.9k|        CHECK(raw_index_bytes(cs, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  186|  15.9k|#if WITH_XSPAN >= 2
  187|  15.9k|        CHECK_THROWS(raw_bytes(cs, 5));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  188|  15.9k|        CHECK_THROWS(raw_index_bytes(cs, 1, 4));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  189|  15.9k|#endif
  190|       |
  191|  15.9k|        XSPAN_0_VAR(upx_uint16_t, c0_2, XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2));
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  192|  15.9k|        XSPAN_P_VAR(upx_uint16_t, cp_2, XSPAN_TYPE_CAST(upx_uint16_t, cp + 2));
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  193|  15.9k|        XSPAN_S_VAR(upx_uint16_t, cs_2, XSPAN_TYPE_CAST(upx_uint16_t, cs + 2));
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  194|  15.9k|        CHECK(ptr_udiff_bytes(c0_2, c0) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  195|  15.9k|        CHECK(ptr_udiff_bytes(cp_2, c0) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  196|  15.9k|        CHECK(ptr_udiff_bytes(cs_2, c0) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  197|  15.9k|        CHECK(ptr_udiff_bytes(c0_2, cp) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|  15.9k|        CHECK(ptr_udiff_bytes(cp_2, cp) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  199|  15.9k|        CHECK(ptr_udiff_bytes(cs_2, cp) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  200|  15.9k|        CHECK(ptr_udiff_bytes(c0_2, cs) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  201|  15.9k|        CHECK(ptr_udiff_bytes(cp_2, cs) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|  15.9k|        CHECK(ptr_udiff_bytes(cs_2, cs) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  15.9k|        XSPAN_0_VAR(upx_uint16_t, c0_2b, XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1);
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|  15.9k|        XSPAN_P_VAR(upx_uint16_t, cp_2b, XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1);
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  205|  15.9k|        XSPAN_S_VAR(upx_uint16_t, cs_2b, XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1);
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  206|  15.9k|        CHECK(c0_2 == c0_2b);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  207|  15.9k|        CHECK(cp_2 == cp_2b);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  208|  15.9k|        CHECK(cs_2 == cs_2b);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  209|       |
  210|  15.9k|        CHECK(sizeof(*c0) == 1u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  211|  15.9k|        CHECK(sizeof(*c0_2) == 2u);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  212|  15.9k|    }
  213|       |
  214|  47.8k|    SUBCASE("xspan in class") {
  ------------------
  |  | 2944|  47.8k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  47.8k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  47.8k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  47.8k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  47.8k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 15.9k, False: 31.8k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  47.8k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  215|  15.9k|        struct MyType {
  216|  15.9k|            XSPAN_0(char) s0;
  217|  15.9k|            XSPAN_P(char) sp;
  218|  15.9k|            XSPAN_S(char) ss;
  219|  15.9k|#if __cplusplus >= 201103L
  220|  15.9k|            XSPAN_0(char) x0 = nullptr;
  221|  15.9k|#endif
  222|  15.9k|#if WITH_XSPAN >= 2
  223|       |            // much nicer syntax when using fully checked xspan:
  224|  15.9k|            MyType(char *b, size_t n, bool) : s0(b, n), sp(b, n), ss(b, n) {}
  225|  15.9k|#endif
  226|  15.9k|            MyType(char *b, size_t n)
  227|  15.9k|                : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  228|  15.9k|                  ss(XSPAN_S_MAKE(char, b, n)) {
  229|  15.9k|                UNUSED(n);
  230|  15.9k|            }
  231|  15.9k|        };
  232|  15.9k|        MyType x(buf, sizeof(buf));
  233|  15.9k|        MyType y = MyType(buf, sizeof(buf));
  234|  15.9k|        CHECK(x.s0 == y.sp);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  235|  15.9k|    }
  236|  47.8k|}
dt_xspan.cpp:_ZZL19DOCTEST_ANON_FUNC_6vEN6MyTypeC2EPcm:
  227|  31.8k|                : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  ------------------
  |  |   95|  31.8k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  31.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                              : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  ------------------
  |  |   96|  31.8k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  31.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  228|  31.8k|                  ss(XSPAN_S_MAKE(char, b, n)) {
  ------------------
  |  |   97|  31.8k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  31.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  31.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  31.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  31.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  229|  31.8k|                UNUSED(n);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  230|  31.8k|            }
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_11v:
  238|  15.9k|TEST_CASE("xspan array access") {
  239|  15.9k|    const size_t N = 16;
  240|  15.9k|    char buf[N];
  241|  15.9k|    memset(buf, 0, sizeof(buf));
  242|  15.9k|    XSPAN_0_VAR(char, c0, buf, sizeof(buf));
  ------------------
  |  |  107|  15.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  15.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  243|  15.9k|    XSPAN_P_VAR(char, cp, buf, sizeof(buf));
  ------------------
  |  |  109|  15.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  15.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  244|  15.9k|    XSPAN_S_VAR(char, cs, buf, sizeof(buf));
  ------------------
  |  |  111|  15.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  15.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  15.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  15.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  15.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  245|   271k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (245:24): [True: 255k, False: 15.9k]
  ------------------
  246|   255k|        c0[i] += 1;
  247|   271k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (247:24): [True: 255k, False: 15.9k]
  ------------------
  248|   255k|        cp[i] += 1;
  249|   271k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (249:24): [True: 255k, False: 15.9k]
  ------------------
  250|   255k|        cs[i] += 1;
  251|  15.9k|#if __cplusplus >= 201103L
  252|   271k|    for (auto ptr = c0; ptr != c0 + N; ++ptr)
  ------------------
  |  Branch (252:25): [True: 255k, False: 15.9k]
  ------------------
  253|   255k|        *ptr += 1;
  254|   271k|    for (auto ptr = c0 + 0; ptr < c0 + N; ++ptr)
  ------------------
  |  Branch (254:29): [True: 255k, False: 15.9k]
  ------------------
  255|   255k|        *ptr += 1;
  256|   271k|    for (auto ptr = cp; ptr != cp + N; ++ptr)
  ------------------
  |  Branch (256:25): [True: 255k, False: 15.9k]
  ------------------
  257|   255k|        *ptr += 1;
  258|   271k|    for (auto ptr = cp + 0; ptr < cp + N; ++ptr)
  ------------------
  |  Branch (258:29): [True: 255k, False: 15.9k]
  ------------------
  259|   255k|        *ptr += 1;
  260|   271k|    for (auto ptr = cs; ptr != cs + N; ++ptr)
  ------------------
  |  Branch (260:25): [True: 255k, False: 15.9k]
  ------------------
  261|   255k|        *ptr += 1;
  262|   271k|    for (auto ptr = cs + 0; ptr < cs + N; ++ptr)
  ------------------
  |  Branch (262:29): [True: 255k, False: 15.9k]
  ------------------
  263|   255k|        *ptr += 1;
  264|  15.9k|#endif
  265|  15.9k|}
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_13v:
 1136|  15.9k|TEST_CASE("decltype integral constants") {
 1137|  15.9k|    static_assert((std::is_same<decltype(0), int>::value), "");
 1138|  15.9k|    static_assert((std::is_same<decltype(0u), unsigned>::value), "");
 1139|  15.9k|    static_assert((std::is_same<decltype(0l), long>::value), "");
 1140|  15.9k|    static_assert((std::is_same<decltype(0ul), unsigned long>::value), "");
 1141|  15.9k|    static_assert((std::is_same<decltype(0ll), long long>::value), "");
 1142|  15.9k|    static_assert((std::is_same<decltype(0ull), unsigned long long>::value), "");
 1143|  15.9k|    static_assert((std::is_same<decltype((char) 0), char>::value), "");
 1144|  15.9k|    static_assert((std::is_same<decltype((short) 0), short>::value), "");
 1145|  15.9k|    static_assert((std::is_same<decltype((int) 0), int>::value), "");
 1146|  15.9k|    static_assert((std::is_same<decltype((long) 0), long>::value), "");
 1147|  15.9k|    static_assert((std::is_same<decltype((long long) 0), long long>::value), "");
 1148|  15.9k|    static_assert((std::is_same<decltype(char(0)), char>::value), "");
 1149|  15.9k|    static_assert((std::is_same<decltype(short(0)), short>::value), "");
 1150|  15.9k|    static_assert((std::is_same<decltype(int(0)), int>::value), "");
 1151|  15.9k|    static_assert((std::is_same<decltype(long(0)), long>::value), "");
 1152|       |    //// static_assert((std::is_same<decltype(long long(0)), long long>::value), "");
 1153|  15.9k|    using my_llong = long long;
 1154|  15.9k|    static_assert((std::is_same<decltype(my_llong(0)), long long>::value), "");
 1155|  15.9k|}
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_15v:
 1157|  15.9k|TEST_CASE("decltype pointer") {
 1158|  15.9k|    int dummy = 0;
 1159|  15.9k|    int *p = &dummy;
 1160|  15.9k|    const int *c = &dummy;
 1161|  15.9k|    static_assert((std::is_same<decltype(p - p), std::ptrdiff_t>::value), "");
 1162|  15.9k|    static_assert((std::is_same<decltype(c - c), std::ptrdiff_t>::value), "");
 1163|  15.9k|    static_assert((std::is_same<decltype(p - c), std::ptrdiff_t>::value), "");
 1164|  15.9k|    static_assert((std::is_same<decltype(c - p), std::ptrdiff_t>::value), "");
 1165|  15.9k|    typedef PointerTraits<int> TInt;
 1166|  15.9k|    typedef PointerTraits<const int> TConstInt;
 1167|  15.9k|    static_assert((std::is_same<int *, TInt::pointer>::value), "");
 1168|  15.9k|    static_assert((std::is_same<const int *, TInt::const_pointer>::value), "");
 1169|  15.9k|    static_assert((std::is_same<const int *, TConstInt::pointer>::value), "");
 1170|  15.9k|    static_assert((std::is_same<const int *, TConstInt::const_pointer>::value), "");
 1171|       |    //
 1172|  15.9k|    static_assert((std::is_same<decltype(p), TInt::pointer>::value), "");
 1173|  15.9k|    static_assert((std::is_same<decltype(c), TInt::const_pointer>::value), "");
 1174|  15.9k|    static_assert((std::is_same<decltype(c), TConstInt::pointer>::value), "");
 1175|  15.9k|    static_assert((std::is_same<decltype(p + 1), TInt::pointer>::value), "");
 1176|  15.9k|    static_assert((std::is_same<decltype(c + 1), TInt::const_pointer>::value), "");
 1177|  15.9k|    static_assert((std::is_same<decltype(c + 1), TConstInt::pointer>::value), "");
 1178|  15.9k|    static_assert((std::is_same<decltype(c + 1), TConstInt::const_pointer>::value), "");
 1179|  15.9k|    static_assert((std::is_same<decltype(c + 1), const int *>::value), "");
 1180|       |    // dereference
 1181|  15.9k|    static_assert((std::is_same<decltype(*p), TInt::reference>::value), "");
 1182|  15.9k|    static_assert((std::is_same<decltype(*c), TInt::const_reference>::value), "");
 1183|       |#if 0
 1184|       |    // this works, but avoid clang warnings:
 1185|       |    //   "Expression with side effects has no effect in an unevaluated context"
 1186|       |    static_assert((std::is_same<decltype(*p++), TInt::reference>::value), "");
 1187|       |    static_assert((std::is_same<decltype(*++p), TInt::reference>::value), "");
 1188|       |    static_assert((std::is_same<decltype(*c++), TInt::const_reference>::value), "");
 1189|       |    static_assert((std::is_same<decltype(*c++), TConstInt::reference>::value), "");
 1190|       |    static_assert((std::is_same<decltype(*c++), TConstInt::const_reference>::value), "");
 1191|       |    static_assert((std::is_same<decltype(*++c), TInt::const_reference>::value), "");
 1192|       |    static_assert((std::is_same<decltype(*++c), TConstInt::reference>::value), "");
 1193|       |    static_assert((std::is_same<decltype(*++c), TConstInt::const_reference>::value), "");
 1194|       |#endif
 1195|       |    // array access
 1196|  15.9k|    static_assert((std::is_same<decltype(p[0]), TInt::reference>::value), "");
 1197|  15.9k|    static_assert((std::is_same<decltype(c[0]), TInt::const_reference>::value), "");
 1198|  15.9k|    static_assert((std::is_same<decltype(c[0]), TConstInt::reference>::value), "");
 1199|  15.9k|    static_assert((std::is_same<decltype(c[0]), TConstInt::const_reference>::value), "");
 1200|  15.9k|    UNUSED(p);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1201|  15.9k|    UNUSED(c);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1202|  15.9k|}

_Z11upx_adler32PKvjj:
   35|   647k|unsigned upx_adler32(const void *buf, unsigned len, unsigned adler) {
   36|   647k|    if (len == 0)
  ------------------
  |  Branch (36:9): [True: 486k, False: 161k]
  ------------------
   37|   486k|        return adler;
   38|   161k|    assert(buf != nullptr);
  ------------------
  |  |  496|   161k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   322k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 161k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496: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|   647k|}
_Z14upx_decompressPKhjPhPjiPK21upx_compress_result_t:
  135|  31.2k|                   int method, const upx_compress_result_t *cresult) {
  136|  31.2k|    int r = UPX_E_ERROR;
  ------------------
  |  |  542|  31.2k|#define UPX_E_ERROR               (-1)
  ------------------
  137|       |
  138|  31.2k|    assert(*dst_len > 0);
  ------------------
  |  |  496|  31.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  62.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  139|  31.2k|    assert(src_len < *dst_len); // must be compressed
  ------------------
  |  |  496|  31.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  62.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.2k, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  140|       |
  141|  31.2k|    if (cresult && cresult->debug.method == 0)
  ------------------
  |  Branch (141:9): [True: 31.2k, False: 2]
  |  Branch (141:20): [True: 31.2k, False: 0]
  ------------------
  142|  31.2k|        cresult = nullptr;
  143|       |
  144|  31.2k|    const unsigned orig_dst_len = *dst_len;
  145|  31.2k|    if (__acc_cte(false)) {
  ------------------
  |  | 1558|  31.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:37): [Folded, False: 31.2k]
  |  |  ------------------
  ------------------
  146|      0|    }
  147|       |#if (WITH_BZIP2)
  148|       |    else if (M_IS_BZIP2(method))
  149|       |        r = upx_bzip2_decompress(src, src_len, dst, dst_len, method, cresult);
  150|       |#endif
  151|  31.2k|#if (WITH_LZMA)
  152|  31.2k|    else if (M_IS_LZMA(method))
  ------------------
  |  |  644|  31.2k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  629|  31.2k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (644:25): [True: 28.4k, False: 2.81k]
  |  |  ------------------
  ------------------
  153|  28.4k|        r = upx_lzma_decompress(src, src_len, dst, dst_len, method, cresult);
  154|  2.81k|#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.81k|#if (WITH_UCL)
  160|  2.81k|    else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  640|  5.62k|#define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  617|  5.62k|#define M_NRV2B_LE32  2
  |  |  ------------------
  |  |               #define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  619|  2.81k|#define M_NRV2B_LE16  4
  |  |  ------------------
  |  |  |  Branch (640:26): [True: 2.81k, False: 1]
  |  |  |  Branch (640:49): [True: 1.38k, False: 1.42k]
  |  |  ------------------
  ------------------
                  else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  641|  4.23k|#define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  620|  2.84k|#define M_NRV2D_LE32  5
  |  |  ------------------
  |  |               #define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  622|  1.42k|#define M_NRV2D_LE16  7
  |  |  ------------------
  |  |  |  Branch (641:26): [True: 1.42k, False: 0]
  |  |  |  Branch (641:49): [True: 410, False: 1.01k]
  |  |  ------------------
  ------------------
                  else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  642|  1.01k|#define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  623|  2.02k|#define M_NRV2E_LE32  8
  |  |  ------------------
  |  |               #define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  625|  1.01k|#define M_NRV2E_LE16  10
  |  |  ------------------
  |  |  |  Branch (642:26): [True: 1.01k, False: 0]
  |  |  |  Branch (642:49): [True: 543, False: 470]
  |  |  ------------------
  ------------------
  161|  2.34k|        r = upx_ucl_decompress(src, src_len, dst, dst_len, method, cresult);
  162|    471|#endif
  163|    471|#if (WITH_ZLIB)
  164|    471|    else if (M_IS_DEFLATE(method))
  ------------------
  |  |  645|    471|#define M_IS_DEFLATE(x) ((x) == M_DEFLATE)
  |  |  ------------------
  |  |  |  |  630|    471|#define M_DEFLATE     15 // NOT YET USED
  |  |  ------------------
  |  |  |  Branch (645:25): [True: 466, False: 5]
  |  |  ------------------
  ------------------
  165|    466|        r = upx_zlib_decompress(src, src_len, dst, dst_len, method, cresult);
  166|      5|#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|      5|    else {
  172|      5|        throwInternalError("unknown compression method %d", method);
  173|      5|    }
  174|       |
  175|  31.2k|    assert_noexcept(*dst_len <= orig_dst_len);
  ------------------
  |  |  499|  31.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  62.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  176|      0|    return r;
  177|  31.2k|}

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

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

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

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

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

_Z9NO_printfPKcz:
  388|   449k|inline void NO_printf(const char *, ...) noexcept {}
_Z10NO_fprintfP8_IO_FILEPKcz:
  390|  10.3M|inline void NO_fprintf(FILE *, const char *, ...) noexcept {}
_ZN14upx_callback_t5resetEv:
  679|   959k|    void reset() noexcept { mem_clear(this); }
_ZN21ucl_compress_config_t5resetEv:
  713|   175k|    void reset() noexcept { memset(this, 0xff, sizeof(*this)); }
_ZN23bzip2_compress_result_t5resetEv:
  759|  1.43M|    void reset() noexcept { mem_clear(this); }
_ZN22lzma_compress_result_t5resetEv:
  772|  1.43M|    void reset() noexcept { mem_clear(this); }
_ZN21ucl_compress_result_t5resetEv:
  778|  1.43M|    void reset() noexcept { mem_clear(this); }
_ZN22zlib_compress_result_t5resetEv:
  784|  1.43M|    void reset() noexcept { mem_clear(this); }
_ZN22zstd_compress_result_t5resetEv:
  790|  1.43M|    void reset() noexcept { mem_clear(this); }
_ZN21upx_compress_result_t5Debug5resetEv:
  798|  1.43M|        void reset() noexcept { mem_clear(this); }
_ZN21upx_compress_result_t5resetEv:
  808|  1.43M|    void reset() noexcept {
  809|  1.43M|        debug.reset();
  810|  1.43M|        result_bzip2.reset();
  811|  1.43M|        result_lzma.reset();
  812|  1.43M|        result_ucl.reset();
  813|  1.43M|        result_zlib.reset();
  814|  1.43M|        result_zstd.reset();
  815|  1.43M|    }
_Z9mem_clearI14upx_callback_tEvPT_:
  456|   959k|inline void mem_clear(T *object) noexcept {
  457|   959k|    static_assert(std::is_class_v<T>); // UPX convention
  458|   959k|    static_assert(std::is_standard_layout_v<T>);
  459|   959k|    static_assert(std::is_trivially_copyable_v<T>);
  460|   959k|    constexpr size_t size = sizeof(*object);
  461|   959k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|   959k|    memset((void *) object, 0, size);
  464|   959k|}
_Z9mem_clearI23bzip2_compress_result_tEvPT_:
  456|  1.43M|inline void mem_clear(T *object) noexcept {
  457|  1.43M|    static_assert(std::is_class_v<T>); // UPX convention
  458|  1.43M|    static_assert(std::is_standard_layout_v<T>);
  459|  1.43M|    static_assert(std::is_trivially_copyable_v<T>);
  460|  1.43M|    constexpr size_t size = sizeof(*object);
  461|  1.43M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  1.43M|    memset((void *) object, 0, size);
  464|  1.43M|}
_Z9mem_clearI22lzma_compress_result_tEvPT_:
  456|  1.43M|inline void mem_clear(T *object) noexcept {
  457|  1.43M|    static_assert(std::is_class_v<T>); // UPX convention
  458|  1.43M|    static_assert(std::is_standard_layout_v<T>);
  459|  1.43M|    static_assert(std::is_trivially_copyable_v<T>);
  460|  1.43M|    constexpr size_t size = sizeof(*object);
  461|  1.43M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  1.43M|    memset((void *) object, 0, size);
  464|  1.43M|}
_Z9mem_clearI21ucl_compress_result_tEvPT_:
  456|  1.43M|inline void mem_clear(T *object) noexcept {
  457|  1.43M|    static_assert(std::is_class_v<T>); // UPX convention
  458|  1.43M|    static_assert(std::is_standard_layout_v<T>);
  459|  1.43M|    static_assert(std::is_trivially_copyable_v<T>);
  460|  1.43M|    constexpr size_t size = sizeof(*object);
  461|  1.43M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  1.43M|    memset((void *) object, 0, size);
  464|  1.43M|}
_Z9mem_clearI22zlib_compress_result_tEvPT_:
  456|  1.43M|inline void mem_clear(T *object) noexcept {
  457|  1.43M|    static_assert(std::is_class_v<T>); // UPX convention
  458|  1.43M|    static_assert(std::is_standard_layout_v<T>);
  459|  1.43M|    static_assert(std::is_trivially_copyable_v<T>);
  460|  1.43M|    constexpr size_t size = sizeof(*object);
  461|  1.43M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  1.43M|    memset((void *) object, 0, size);
  464|  1.43M|}
_Z9mem_clearI22zstd_compress_result_tEvPT_:
  456|  1.43M|inline void mem_clear(T *object) noexcept {
  457|  1.43M|    static_assert(std::is_class_v<T>); // UPX convention
  458|  1.43M|    static_assert(std::is_standard_layout_v<T>);
  459|  1.43M|    static_assert(std::is_trivially_copyable_v<T>);
  460|  1.43M|    constexpr size_t size = sizeof(*object);
  461|  1.43M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  1.43M|    memset((void *) object, 0, size);
  464|  1.43M|}
_Z9mem_clearIN21upx_compress_result_t5DebugEEvPT_:
  456|  1.43M|inline void mem_clear(T *object) noexcept {
  457|  1.43M|    static_assert(std::is_class_v<T>); // UPX convention
  458|  1.43M|    static_assert(std::is_standard_layout_v<T>);
  459|  1.43M|    static_assert(std::is_trivially_copyable_v<T>);
  460|  1.43M|    constexpr size_t size = sizeof(*object);
  461|  1.43M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  1.43M|    memset((void *) object, 0, size);
  464|  1.43M|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIcE5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIaE5TestTEEvPT_:
  456|  63.7k|inline void mem_clear(T *object) noexcept {
  457|  63.7k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  63.7k|    static_assert(std::is_standard_layout_v<T>);
  459|  63.7k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  63.7k|    constexpr size_t size = sizeof(*object);
  461|  63.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  63.7k|    memset((void *) object, 0, size);
  464|  63.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIhE5TestTEEvPT_:
  456|  63.7k|inline void mem_clear(T *object) noexcept {
  457|  63.7k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  63.7k|    static_assert(std::is_standard_layout_v<T>);
  459|  63.7k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  63.7k|    constexpr size_t size = sizeof(*object);
  461|  63.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  63.7k|    memset((void *) object, 0, size);
  464|  63.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIsE5TestTEEvPT_:
  456|  63.7k|inline void mem_clear(T *object) noexcept {
  457|  63.7k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  63.7k|    static_assert(std::is_standard_layout_v<T>);
  459|  63.7k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  63.7k|    constexpr size_t size = sizeof(*object);
  461|  63.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  63.7k|    memset((void *) object, 0, size);
  464|  63.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralItE5TestTEEvPT_:
  456|  63.7k|inline void mem_clear(T *object) noexcept {
  457|  63.7k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  63.7k|    static_assert(std::is_standard_layout_v<T>);
  459|  63.7k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  63.7k|    constexpr size_t size = sizeof(*object);
  461|  63.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  63.7k|    memset((void *) object, 0, size);
  464|  63.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIiE5TestTEEvPT_:
  456|  63.7k|inline void mem_clear(T *object) noexcept {
  457|  63.7k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  63.7k|    static_assert(std::is_standard_layout_v<T>);
  459|  63.7k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  63.7k|    constexpr size_t size = sizeof(*object);
  461|  63.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  63.7k|    memset((void *) object, 0, size);
  464|  63.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIjE5TestTEEvPT_:
  456|  63.7k|inline void mem_clear(T *object) noexcept {
  457|  63.7k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  63.7k|    static_assert(std::is_standard_layout_v<T>);
  459|  63.7k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  63.7k|    constexpr size_t size = sizeof(*object);
  461|  63.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  63.7k|    memset((void *) object, 0, size);
  464|  63.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIlE5TestTEEvPT_:
  456|   159k|inline void mem_clear(T *object) noexcept {
  457|   159k|    static_assert(std::is_class_v<T>); // UPX convention
  458|   159k|    static_assert(std::is_standard_layout_v<T>);
  459|   159k|    static_assert(std::is_trivially_copyable_v<T>);
  460|   159k|    constexpr size_t size = sizeof(*object);
  461|   159k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|   159k|    memset((void *) object, 0, size);
  464|   159k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralImE5TestTEEvPT_:
  456|   223k|inline void mem_clear(T *object) noexcept {
  457|   223k|    static_assert(std::is_class_v<T>); // UPX convention
  458|   223k|    static_assert(std::is_standard_layout_v<T>);
  459|   223k|    static_assert(std::is_trivially_copyable_v<T>);
  460|   223k|    constexpr size_t size = sizeof(*object);
  461|   223k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|   223k|    memset((void *) object, 0, size);
  464|   223k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIxE5TestTEEvPT_:
  456|  95.6k|inline void mem_clear(T *object) noexcept {
  457|  95.6k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  95.6k|    static_assert(std::is_standard_layout_v<T>);
  459|  95.6k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  95.6k|    constexpr size_t size = sizeof(*object);
  461|  95.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  95.6k|    memset((void *) object, 0, size);
  464|  95.6k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIyE5TestTEEvPT_:
  456|  63.7k|inline void mem_clear(T *object) noexcept {
  457|  63.7k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  63.7k|    static_assert(std::is_standard_layout_v<T>);
  459|  63.7k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  63.7k|    constexpr size_t size = sizeof(*object);
  461|  63.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  63.7k|    memset((void *) object, 0, size);
  464|  63.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralInE5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIoE5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE16E5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE32E5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE64E5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE16E5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE32E5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE64E5TestTEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
dt_cxxlib.cpp:_Z9mem_clearIZL20DOCTEST_ANON_FUNC_10vE4TestEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIiLb0EEEEvPT_:
  456|  31.8k|inline void mem_clear(T *object) noexcept {
  457|  31.8k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.8k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.8k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.8k|    constexpr size_t size = sizeof(*object);
  461|  31.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.8k|    memset((void *) object, 0, size);
  464|  31.8k|}
_Z9mem_clearIN3upx7TriBoolIaLb0EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIhLb0EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIsLb0EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolItLb0EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIjLb0EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIxLb0EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIyLb0EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIaLb1EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIhLb1EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIsLb1EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolItLb1EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIiLb1EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIjLb1EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIxLb1EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearIN3upx7TriBoolIyLb1EEEEvPT_:
  456|  15.9k|inline void mem_clear(T *object) noexcept {
  457|  15.9k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  15.9k|    static_assert(std::is_standard_layout_v<T>);
  459|  15.9k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  15.9k|    constexpr size_t size = sizeof(*object);
  461|  15.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  15.9k|    memset((void *) object, 0, size);
  464|  15.9k|}
_Z9mem_clearI23bzip2_compress_config_tEvPT_:
  456|   175k|inline void mem_clear(T *object) noexcept {
  457|   175k|    static_assert(std::is_class_v<T>); // UPX convention
  458|   175k|    static_assert(std::is_standard_layout_v<T>);
  459|   175k|    static_assert(std::is_trivially_copyable_v<T>);
  460|   175k|    constexpr size_t size = sizeof(*object);
  461|   175k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|   175k|    memset((void *) object, 0, size);
  464|   175k|}
_Z9mem_clearI18_CLzmaDecoderStateEvPT_:
  456|  76.3k|inline void mem_clear(T *object) noexcept {
  457|  76.3k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  76.3k|    static_assert(std::is_standard_layout_v<T>);
  459|  76.3k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  76.3k|    constexpr size_t size = sizeof(*object);
  461|  76.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  76.3k|    memset((void *) object, 0, size);
  464|  76.3k|}
_Z9mem_clearI22zlib_compress_config_tEvPT_:
  456|   175k|inline void mem_clear(T *object) noexcept {
  457|   175k|    static_assert(std::is_class_v<T>); // UPX convention
  458|   175k|    static_assert(std::is_standard_layout_v<T>);
  459|   175k|    static_assert(std::is_trivially_copyable_v<T>);
  460|   175k|    constexpr size_t size = sizeof(*object);
  461|   175k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|   175k|    memset((void *) object, 0, size);
  464|   175k|}
_Z9mem_clearI22zstd_compress_config_tEvPT_:
  456|   175k|inline void mem_clear(T *object) noexcept {
  457|   175k|    static_assert(std::is_class_v<T>); // UPX convention
  458|   175k|    static_assert(std::is_standard_layout_v<T>);
  459|   175k|    static_assert(std::is_trivially_copyable_v<T>);
  460|   175k|    constexpr size_t size = sizeof(*object);
  461|   175k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|   175k|    memset((void *) object, 0, size);
  464|   175k|}
filter.cpp:_Z17upx_std_call_onceIZN10FilterImpl9getFilterEiE3$_0EvRmOT_:
  135|  25.9k|inline void upx_std_call_once(upx_std_once_flag &flag, NoexceptCallable &&f) noexcept {
  136|  25.9k|    if (__acc_unlikely(!flag)) {
  ------------------
  |  | 2017|  25.9k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  ------------------
  |  |  |  Branch (2017:33): [True: 1, False: 25.9k]
  |  |  ------------------
  ------------------
  137|      1|        flag = 1;
  138|      1|        f();
  139|      1|    }
  140|  25.9k|}
_Z9mem_clearIN6LeFile11le_header_tEEvPT_:
  456|  31.5k|inline void mem_clear(T *object) noexcept {
  457|  31.5k|    static_assert(std::is_class_v<T>); // UPX convention
  458|  31.5k|    static_assert(std::is_standard_layout_v<T>);
  459|  31.5k|    static_assert(std::is_trivially_copyable_v<T>);
  460|  31.5k|    constexpr size_t size = sizeof(*object);
  461|  31.5k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  31.5k|    memset((void *) object, 0, size);
  464|  31.5k|}
_Z9mem_clearI7OptionsEvPT_:
  456|   159k|inline void mem_clear(T *object) noexcept {
  457|   159k|    static_assert(std::is_class_v<T>); // UPX convention
  458|   159k|    static_assert(std::is_standard_layout_v<T>);
  459|   159k|    static_assert(std::is_trivially_copyable_v<T>);
  460|   159k|    constexpr size_t size = sizeof(*object);
  461|   159k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|   159k|    memset((void *) object, 0, size);
  464|   159k|}
_Z9mem_clearI10PackHeaderEvPT_:
  456|  1.43M|inline void mem_clear(T *object) noexcept {
  457|  1.43M|    static_assert(std::is_class_v<T>); // UPX convention
  458|  1.43M|    static_assert(std::is_standard_layout_v<T>);
  459|  1.43M|    static_assert(std::is_trivially_copyable_v<T>);
  460|  1.43M|    constexpr size_t size = sizeof(*object);
  461|  1.43M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|  1.43M|    memset((void *) object, 0, size);
  464|  1.43M|}
_Z17upx_std_call_onceIRDoFvvEEvRmOT_:
  135|  10.8M|inline void upx_std_call_once(upx_std_once_flag &flag, NoexceptCallable &&f) noexcept {
  136|  10.8M|    if (__acc_unlikely(!flag)) {
  ------------------
  |  | 2017|  10.8M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  ------------------
  |  |  |  Branch (2017:33): [True: 2, False: 10.8M]
  |  |  ------------------
  ------------------
  137|      2|        flag = 1;
  138|      2|        f();
  139|      2|    }
  140|  10.8M|}
_Z9mem_clearIN8UiPacker5StateEEvPT_:
  456|   479k|inline void mem_clear(T *object) noexcept {
  457|   479k|    static_assert(std::is_class_v<T>); // UPX convention
  458|   479k|    static_assert(std::is_standard_layout_v<T>);
  459|   479k|    static_assert(std::is_trivially_copyable_v<T>);
  460|   479k|    constexpr size_t size = sizeof(*object);
  461|   479k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  462|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  463|   479k|    memset((void *) object, 0, size);
  464|   479k|}

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

_ZNK9Throwable6getMsgEv:
   43|  31.7k|    const char *getMsg() const noexcept { return msg; }
_ZNK9Throwable8getErrnoEv:
   44|  15.8k|    int getErrno() const noexcept { return err; }
_ZNK9Throwable9isWarningEv:
   45|  31.6k|    bool isWarning() const noexcept { return is_warning; }
_ZN9ExceptionC2EPKcib:
   76|  4.80M|    Exception(const char *m = nullptr, int e = 0, bool w = false) noexcept : super(m, e, w) {}
_ZN5ErrorC2EPKci:
   83|  31.9k|    Error(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN11IOExceptionC2EPKci:
   99|  33.6k|    IOException(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN12EOFExceptionC2EPKci:
  105|  17.5k|    EOFException(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN16OverlayExceptionC2EPKcb:
  127|     44|    OverlayException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN17CantPackExceptionC2EPKcb:
  133|    376|    CantPackException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN32UnknownExecutableFormatExceptionC2EPKcb:
  140|     78|        : super(m, w) {}
_ZN19CantUnpackExceptionC2EPKcb:
  158|  4.76M|    CantUnpackException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN18NotPackedExceptionC2EPKc:
  164|  2.66k|    NotPackedException(const char *m = nullptr) noexcept : super(m, true) {}
_ZN13InternalErrorC2EPKc:
  174|  31.9k|    InternalError(const char *m = nullptr) noexcept : super(m, 0) {}

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

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

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

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

filter_impl.cpp:_ZL9u_ct16_e8P6Filter:
   59|     58|static int u_ct16_e8(Filter *f) { CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_le16, set_le16) }
  ------------------
  |  |   33|     58|    byte *b = f->buf;                                                                              \
  |  |   34|     58|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.42M|    do {                                                                                           \
  |  |   36|  3.42M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 378k, False: 3.04M]
  |  |  ------------------
  |  |   37|   378k|            b += 1;                                                                                \
  |  |   38|   378k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   378k|            f->lastcall = a;                                                                       \
  |  |   40|   378k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   378k|            f->calls++;                                                                            \
  |  |   42|   378k|            b += 2 - 1;                                                                            \
  |  |   43|   378k|        }                                                                                          \
  |  |   44|  3.42M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.42M, False: 58]
  |  |  ------------------
  |  |   45|     58|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 34, False: 24]
  |  |  ------------------
  |  |   46|     58|        f->lastcall += 2;                                                                          \
  |  |   47|     58|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_ct16_e9P6Filter:
   61|    228|static int u_ct16_e9(Filter *f) { CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_le16, set_le16) }
  ------------------
  |  |   33|    228|    byte *b = f->buf;                                                                              \
  |  |   34|    228|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  6.77M|    do {                                                                                           \
  |  |   36|  6.77M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 477k, False: 6.29M]
  |  |  ------------------
  |  |   37|   477k|            b += 1;                                                                                \
  |  |   38|   477k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   477k|            f->lastcall = a;                                                                       \
  |  |   40|   477k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   477k|            f->calls++;                                                                            \
  |  |   42|   477k|            b += 2 - 1;                                                                            \
  |  |   43|   477k|        }                                                                                          \
  |  |   44|  6.77M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 6.77M, False: 228]
  |  |  ------------------
  |  |   45|    228|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 26, False: 202]
  |  |  ------------------
  |  |   46|    228|        f->lastcall += 2;                                                                          \
  |  |   47|    228|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_ct16_e8e9P6Filter:
   63|    159|static int u_ct16_e8e9(Filter *f) {
   64|    159|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le16, set_le16)
  ------------------
  |  |   33|    159|    byte *b = f->buf;                                                                              \
  |  |   34|    159|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.34M|    do {                                                                                           \
  |  |   36|  15.8M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 201k, False: 5.14M]
  |  |  |  Branch (36:13): [True: 345k, False: 4.79M]
  |  |  ------------------
  |  |   37|   547k|            b += 1;                                                                                \
  |  |   38|   547k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   547k|            f->lastcall = a;                                                                       \
  |  |   40|   547k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   547k|            f->calls++;                                                                            \
  |  |   42|   547k|            b += 2 - 1;                                                                            \
  |  |   43|   547k|        }                                                                                          \
  |  |   44|  5.34M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.34M, False: 159]
  |  |  ------------------
  |  |   45|    159|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 38, False: 121]
  |  |  ------------------
  |  |   46|    159|        f->lastcall += 2;                                                                          \
  |  |   47|    159|    return 0;
  ------------------
   65|    159|}
filter_impl.cpp:_ZL18u_ct16_e8_bswap_leP6Filter:
   90|    184|static int u_ct16_e8_bswap_le(Filter *f) {
   91|    184|    CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|    184|    byte *b = f->buf;                                                                              \
  |  |   34|    184|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.79M|    do {                                                                                           \
  |  |   36|  3.79M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 365k, False: 3.43M]
  |  |  ------------------
  |  |   37|   365k|            b += 1;                                                                                \
  |  |   38|   365k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   365k|            f->lastcall = a;                                                                       \
  |  |   40|   365k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   365k|            f->calls++;                                                                            \
  |  |   42|   365k|            b += 2 - 1;                                                                            \
  |  |   43|   365k|        }                                                                                          \
  |  |   44|  3.79M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.79M, False: 184]
  |  |  ------------------
  |  |   45|    184|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 33, False: 151]
  |  |  ------------------
  |  |   46|    184|        f->lastcall += 2;                                                                          \
  |  |   47|    184|    return 0;
  ------------------
   92|    184|}
filter_impl.cpp:_ZL18u_ct16_e9_bswap_leP6Filter:
   94|    213|static int u_ct16_e9_bswap_le(Filter *f) {
   95|    213|    CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|    213|    byte *b = f->buf;                                                                              \
  |  |   34|    213|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  10.4M|    do {                                                                                           \
  |  |   36|  10.4M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 529k, False: 9.92M]
  |  |  ------------------
  |  |   37|   529k|            b += 1;                                                                                \
  |  |   38|   529k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   529k|            f->lastcall = a;                                                                       \
  |  |   40|   529k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   529k|            f->calls++;                                                                            \
  |  |   42|   529k|            b += 2 - 1;                                                                            \
  |  |   43|   529k|        }                                                                                          \
  |  |   44|  10.4M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 10.4M, False: 213]
  |  |  ------------------
  |  |   45|    213|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 22, False: 191]
  |  |  ------------------
  |  |   46|    213|        f->lastcall += 2;                                                                          \
  |  |   47|    213|    return 0;
  ------------------
   96|    213|}
filter_impl.cpp:_ZL20u_ct16_e8e9_bswap_leP6Filter:
   98|    240|static int u_ct16_e8e9_bswap_le(Filter *f) {
   99|    240|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|    240|    byte *b = f->buf;                                                                              \
  |  |   34|    240|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.51M|    do {                                                                                           \
  |  |   36|  16.3M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 195k, False: 5.31M]
  |  |  |  Branch (36:13): [True: 436k, False: 4.87M]
  |  |  ------------------
  |  |   37|   632k|            b += 1;                                                                                \
  |  |   38|   632k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   632k|            f->lastcall = a;                                                                       \
  |  |   40|   632k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   632k|            f->calls++;                                                                            \
  |  |   42|   632k|            b += 2 - 1;                                                                            \
  |  |   43|   632k|        }                                                                                          \
  |  |   44|  5.51M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.50M, False: 240]
  |  |  ------------------
  |  |   45|    240|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 31, False: 209]
  |  |  ------------------
  |  |   46|    240|        f->lastcall += 2;                                                                          \
  |  |   47|    240|    return 0;
  ------------------
  100|    240|}
filter_impl.cpp:_ZL18u_ct16_e8_bswap_beP6Filter:
  129|    108|static int u_ct16_e8_bswap_be(Filter *f) {
  130|    108|    CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   33|    108|    byte *b = f->buf;                                                                              \
  |  |   34|    108|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.43M|    do {                                                                                           \
  |  |   36|  3.43M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 217k, False: 3.21M]
  |  |  ------------------
  |  |   37|   217k|            b += 1;                                                                                \
  |  |   38|   217k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   217k|            f->lastcall = a;                                                                       \
  |  |   40|   217k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   217k|            f->calls++;                                                                            \
  |  |   42|   217k|            b += 2 - 1;                                                                            \
  |  |   43|   217k|        }                                                                                          \
  |  |   44|  3.43M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.43M, False: 108]
  |  |  ------------------
  |  |   45|    108|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 36, False: 72]
  |  |  ------------------
  |  |   46|    108|        f->lastcall += 2;                                                                          \
  |  |   47|    108|    return 0;
  ------------------
  131|    108|}
filter_impl.cpp:_ZL18u_ct16_e9_bswap_beP6Filter:
  133|    266|static int u_ct16_e9_bswap_be(Filter *f) {
  134|    266|    CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   33|    266|    byte *b = f->buf;                                                                              \
  |  |   34|    266|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  4.01M|    do {                                                                                           \
  |  |   36|  4.01M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 420k, False: 3.59M]
  |  |  ------------------
  |  |   37|   420k|            b += 1;                                                                                \
  |  |   38|   420k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   420k|            f->lastcall = a;                                                                       \
  |  |   40|   420k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   420k|            f->calls++;                                                                            \
  |  |   42|   420k|            b += 2 - 1;                                                                            \
  |  |   43|   420k|        }                                                                                          \
  |  |   44|  4.01M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 4.01M, False: 266]
  |  |  ------------------
  |  |   45|    266|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 17, False: 249]
  |  |  ------------------
  |  |   46|    266|        f->lastcall += 2;                                                                          \
  |  |   47|    266|    return 0;
  ------------------
  135|    266|}
filter_impl.cpp:_ZL20u_ct16_e8e9_bswap_beP6Filter:
  137|     64|static int u_ct16_e8e9_bswap_be(Filter *f) {
  138|     64|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   33|     64|    byte *b = f->buf;                                                                              \
  |  |   34|     64|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.52M|    do {                                                                                           \
  |  |   36|  16.3M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 265k, False: 5.26M]
  |  |  |  Branch (36:13): [True: 502k, False: 4.75M]
  |  |  ------------------
  |  |   37|   767k|            b += 1;                                                                                \
  |  |   38|   767k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   767k|            f->lastcall = a;                                                                       \
  |  |   40|   767k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   767k|            f->calls++;                                                                            \
  |  |   42|   767k|            b += 2 - 1;                                                                            \
  |  |   43|   767k|        }                                                                                          \
  |  |   44|  5.52M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.52M, False: 64]
  |  |  ------------------
  |  |   45|     64|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 47, False: 17]
  |  |  ------------------
  |  |   46|     64|        f->lastcall += 2;                                                                          \
  |  |   47|     64|    return 0;
  ------------------
  139|     64|}
filter_impl.cpp:_ZL9u_ct32_e8P6Filter:
  187|     64|static int u_ct32_e8(Filter *f) { CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_le32, set_le32) }
  ------------------
  |  |  161|     64|    byte *b = f->buf;                                                                              \
  |  |  162|     64|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.40M|    do {                                                                                           \
  |  |  164|  3.40M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 193k, False: 3.21M]
  |  |  ------------------
  |  |  165|   193k|            b += 1;                                                                                \
  |  |  166|   193k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   193k|            f->lastcall = a;                                                                       \
  |  |  168|   193k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   193k|            f->calls++;                                                                            \
  |  |  170|   193k|            b += 4 - 1;                                                                            \
  |  |  171|   193k|        }                                                                                          \
  |  |  172|  3.40M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.40M, False: 64]
  |  |  ------------------
  |  |  173|     64|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 37, False: 27]
  |  |  ------------------
  |  |  174|     64|        f->lastcall += 4;                                                                          \
  |  |  175|     64|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_ct32_e9P6Filter:
  189|    670|static int u_ct32_e9(Filter *f) { CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_le32, set_le32) }
  ------------------
  |  |  161|    670|    byte *b = f->buf;                                                                              \
  |  |  162|    670|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  4.13M|    do {                                                                                           \
  |  |  164|  4.13M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 523k, False: 3.60M]
  |  |  ------------------
  |  |  165|   523k|            b += 1;                                                                                \
  |  |  166|   523k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   523k|            f->lastcall = a;                                                                       \
  |  |  168|   523k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   523k|            f->calls++;                                                                            \
  |  |  170|   523k|            b += 4 - 1;                                                                            \
  |  |  171|   523k|        }                                                                                          \
  |  |  172|  4.13M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 4.12M, False: 670]
  |  |  ------------------
  |  |  173|    670|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 21, False: 649]
  |  |  ------------------
  |  |  174|    670|        f->lastcall += 4;                                                                          \
  |  |  175|    670|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_ct32_e8e9P6Filter:
  191|    401|static int u_ct32_e8e9(Filter *f) {
  192|    401|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le32, set_le32)
  ------------------
  |  |  161|    401|    byte *b = f->buf;                                                                              \
  |  |  162|    401|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  5.19M|    do {                                                                                           \
  |  |  164|  15.4M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 127k, False: 5.06M]
  |  |  |  Branch (164:13): [True: 195k, False: 4.87M]
  |  |  ------------------
  |  |  165|   322k|            b += 1;                                                                                \
  |  |  166|   322k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   322k|            f->lastcall = a;                                                                       \
  |  |  168|   322k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   322k|            f->calls++;                                                                            \
  |  |  170|   322k|            b += 4 - 1;                                                                            \
  |  |  171|   322k|        }                                                                                          \
  |  |  172|  5.19M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 5.19M, False: 401]
  |  |  ------------------
  |  |  173|    401|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 31, False: 370]
  |  |  ------------------
  |  |  174|    401|        f->lastcall += 4;                                                                          \
  |  |  175|    401|    return 0;
  ------------------
  193|    401|}
filter_impl.cpp:_ZL18u_ct32_e8_bswap_leP6Filter:
  218|  1.22k|static int u_ct32_e8_bswap_le(Filter *f) {
  219|  1.22k|    CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|  1.22k|    byte *b = f->buf;                                                                              \
  |  |  162|  1.22k|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  6.15M|    do {                                                                                           \
  |  |  164|  6.15M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 380k, False: 5.77M]
  |  |  ------------------
  |  |  165|   380k|            b += 1;                                                                                \
  |  |  166|   380k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   380k|            f->lastcall = a;                                                                       \
  |  |  168|   380k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   380k|            f->calls++;                                                                            \
  |  |  170|   380k|            b += 4 - 1;                                                                            \
  |  |  171|   380k|        }                                                                                          \
  |  |  172|  6.15M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 6.15M, False: 1.22k]
  |  |  ------------------
  |  |  173|  1.22k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 461, False: 765]
  |  |  ------------------
  |  |  174|  1.22k|        f->lastcall += 4;                                                                          \
  |  |  175|  1.22k|    return 0;
  ------------------
  220|  1.22k|}
filter_impl.cpp:_ZL18u_ct32_e9_bswap_leP6Filter:
  222|    194|static int u_ct32_e9_bswap_le(Filter *f) {
  223|    194|    CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|    194|    byte *b = f->buf;                                                                              \
  |  |  162|    194|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  7.16M|    do {                                                                                           \
  |  |  164|  7.16M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 863k, False: 6.30M]
  |  |  ------------------
  |  |  165|   863k|            b += 1;                                                                                \
  |  |  166|   863k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   863k|            f->lastcall = a;                                                                       \
  |  |  168|   863k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   863k|            f->calls++;                                                                            \
  |  |  170|   863k|            b += 4 - 1;                                                                            \
  |  |  171|   863k|        }                                                                                          \
  |  |  172|  7.16M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 7.16M, False: 194]
  |  |  ------------------
  |  |  173|    194|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 34, False: 160]
  |  |  ------------------
  |  |  174|    194|        f->lastcall += 4;                                                                          \
  |  |  175|    194|    return 0;
  ------------------
  224|    194|}
filter_impl.cpp:_ZL20u_ct32_e8e9_bswap_leP6Filter:
  226|    114|static int u_ct32_e8e9_bswap_le(Filter *f) {
  227|    114|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|    114|    byte *b = f->buf;                                                                              \
  |  |  162|    114|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  4.65M|    do {                                                                                           \
  |  |  164|  13.8M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 130k, False: 4.52M]
  |  |  |  Branch (164:13): [True: 152k, False: 4.37M]
  |  |  ------------------
  |  |  165|   282k|            b += 1;                                                                                \
  |  |  166|   282k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   282k|            f->lastcall = a;                                                                       \
  |  |  168|   282k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   282k|            f->calls++;                                                                            \
  |  |  170|   282k|            b += 4 - 1;                                                                            \
  |  |  171|   282k|        }                                                                                          \
  |  |  172|  4.65M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 4.65M, False: 114]
  |  |  ------------------
  |  |  173|    114|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 41, False: 73]
  |  |  ------------------
  |  |  174|    114|        f->lastcall += 4;                                                                          \
  |  |  175|    114|    return 0;
  ------------------
  228|    114|}
filter_impl.cpp:_ZL18u_ct32_e8_bswap_beP6Filter:
  257|    105|static int u_ct32_e8_bswap_be(Filter *f) {
  258|    105|    CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|    105|    byte *b = f->buf;                                                                              \
  |  |  162|    105|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.53M|    do {                                                                                           \
  |  |  164|  3.53M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 244k, False: 3.29M]
  |  |  ------------------
  |  |  165|   244k|            b += 1;                                                                                \
  |  |  166|   244k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   244k|            f->lastcall = a;                                                                       \
  |  |  168|   244k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   244k|            f->calls++;                                                                            \
  |  |  170|   244k|            b += 4 - 1;                                                                            \
  |  |  171|   244k|        }                                                                                          \
  |  |  172|  3.53M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.53M, False: 105]
  |  |  ------------------
  |  |  173|    105|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 92, False: 13]
  |  |  ------------------
  |  |  174|    105|        f->lastcall += 4;                                                                          \
  |  |  175|    105|    return 0;
  ------------------
  259|    105|}
filter_impl.cpp:_ZL18u_ct32_e9_bswap_beP6Filter:
  261|    409|static int u_ct32_e9_bswap_be(Filter *f) {
  262|    409|    CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|    409|    byte *b = f->buf;                                                                              \
  |  |  162|    409|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.38M|    do {                                                                                           \
  |  |  164|  3.38M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 214k, False: 3.17M]
  |  |  ------------------
  |  |  165|   214k|            b += 1;                                                                                \
  |  |  166|   214k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   214k|            f->lastcall = a;                                                                       \
  |  |  168|   214k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   214k|            f->calls++;                                                                            \
  |  |  170|   214k|            b += 4 - 1;                                                                            \
  |  |  171|   214k|        }                                                                                          \
  |  |  172|  3.38M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.38M, False: 409]
  |  |  ------------------
  |  |  173|    409|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 14, False: 395]
  |  |  ------------------
  |  |  174|    409|        f->lastcall += 4;                                                                          \
  |  |  175|    409|    return 0;
  ------------------
  263|    409|}
filter_impl.cpp:_ZL20u_ct32_e8e9_bswap_beP6Filter:
  265|    335|static int u_ct32_e8e9_bswap_be(Filter *f) {
  266|    335|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|    335|    byte *b = f->buf;                                                                              \
  |  |  162|    335|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  34.2M|    do {                                                                                           \
  |  |  164|   102M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 161k, False: 34.0M]
  |  |  |  Branch (164:13): [True: 6.03M, False: 28.0M]
  |  |  ------------------
  |  |  165|  6.19M|            b += 1;                                                                                \
  |  |  166|  6.19M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|  6.19M|            f->lastcall = a;                                                                       \
  |  |  168|  6.19M|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|  6.19M|            f->calls++;                                                                            \
  |  |  170|  6.19M|            b += 4 - 1;                                                                            \
  |  |  171|  6.19M|        }                                                                                          \
  |  |  172|  34.2M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 34.2M, False: 335]
  |  |  ------------------
  |  |  173|    335|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 327, False: 8]
  |  |  ------------------
  |  |  174|    335|        f->lastcall += 4;                                                                          \
  |  |  175|    335|    return 0;
  ------------------
  267|    335|}
filter_impl.cpp:_ZL12u_ct24arm_leP6Filter:
  310|  1.52k|static int u_ct24arm_le(Filter *f) {
  311|  1.52k|    CT24ARM_LE(f, ARMCT_COND_le, 0 - a / 4 - f->addvalue, get_le24, set_le24)
  ------------------
  |  |  289|  1.52k|    byte *b = f->buf;                                                                              \
  |  |  290|  1.52k|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  291|  1.58M|    do {                                                                                           \
  |  |  292|  1.58M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (292:13): [True: 123k, False: 1.46M]
  |  |  ------------------
  |  |  293|   123k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  294|   123k|            f->lastcall = a;                                                                       \
  |  |  295|   123k|            set(b, get(b) + (addvalue));                                                           \
  |  |  296|   123k|            f->calls++;                                                                            \
  |  |  297|   123k|        }                                                                                          \
  |  |  298|  1.58M|        b += 4;                                                                                    \
  |  |  299|  1.58M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (299:14): [True: 1.58M, False: 1.52k]
  |  |  ------------------
  |  |  300|  1.52k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (300:9): [True: 20, False: 1.50k]
  |  |  ------------------
  |  |  301|  1.52k|        f->lastcall += 4;                                                                          \
  |  |  302|  1.52k|    return 0;
  ------------------
  312|  1.52k|}
filter_impl.cpp:_ZL12u_ct24arm_beP6Filter:
  342|    482|static int u_ct24arm_be(Filter *f) {
  343|    482|    CT24ARM_BE(f, ARMCT_COND_be, 0 - a / 4 - f->addvalue, get_be24, set_be24)
  ------------------
  |  |  321|    482|    byte *b = f->buf;                                                                              \
  |  |  322|    482|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  323|  2.33M|    do {                                                                                           \
  |  |  324|  2.33M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (324:13): [True: 123k, False: 2.21M]
  |  |  ------------------
  |  |  325|   123k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  326|   123k|            f->lastcall = a;                                                                       \
  |  |  327|   123k|            set(1 + b, get(1 + b) + (addvalue));                                                   \
  |  |  328|   123k|            f->calls++;                                                                            \
  |  |  329|   123k|        }                                                                                          \
  |  |  330|  2.33M|        b += 4;                                                                                    \
  |  |  331|  2.33M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (331:14): [True: 2.33M, False: 482]
  |  |  ------------------
  |  |  332|    482|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (332:9): [True: 19, False: 463]
  |  |  ------------------
  |  |  333|    482|        f->lastcall += 4;                                                                          \
  |  |  334|    482|    return 0;
  ------------------
  344|    482|}
filter_impl.cpp:_ZL12u_ct26arm_leP6Filter:
  381|  2.71k|static int u_ct26arm_le(Filter *f) {
  382|  2.71k|    CT26ARM_LE(f, ARMCT_COND, 0 - a / 4 - f->addvalue, get_le26, set_le26)
  ------------------
  |  |  360|  2.71k|    byte *b = f->buf;                                                                              \
  |  |  361|  2.71k|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  362|  7.89M|    do {                                                                                           \
  |  |  363|  7.89M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (363:13): [True: 656k, False: 7.23M]
  |  |  ------------------
  |  |  364|   656k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  365|   656k|            f->lastcall = a;                                                                       \
  |  |  366|   656k|            set(b, get(b) + (addvalue));                                                           \
  |  |  367|   656k|            f->calls++;                                                                            \
  |  |  368|   656k|        }                                                                                          \
  |  |  369|  7.89M|        b += 4;                                                                                    \
  |  |  370|  7.89M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (370:14): [True: 7.89M, False: 2.71k]
  |  |  ------------------
  |  |  371|  2.71k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (371:9): [True: 2.67k, False: 37]
  |  |  ------------------
  |  |  372|  2.71k|        f->lastcall += 4;                                                                          \
  |  |  373|  2.71k|    return 0;
  ------------------
  383|  2.71k|}

filter_impl.cpp:_ZL19u_cto32_e8_bswap_leP6Filter:
  129|    286|static int U(Filter *f) {
  130|    286|    byte *b = f->buf;
  131|    286|    const unsigned size5 = f->buf_len - 5;
  132|    286|    const unsigned addvalue = f->addvalue;
  133|    286|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|    286|    unsigned ic, jc;
  136|       |
  137|  6.99M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 6.99M, False: 286]
  ------------------
  138|  6.99M|        if (COND(b, ic)) {
  ------------------
  |  |   57|  6.99M|#define COND(b, x) (b[x] == 0xe8)
  |  |  ------------------
  |  |  |  Branch (57:20): [True: 506k, False: 6.48M]
  |  |  ------------------
  ------------------
  139|   506k|            jc = get_be32(b + ic + 1);
  140|   506k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 153k, False: 352k]
  ------------------
  141|   153k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   153k|                f->calls++;
  143|   153k|                ic += 4;
  144|   153k|                f->lastcall = ic + 1;
  145|   153k|            } else
  146|   352k|                f->noncalls++;
  147|   506k|        }
  148|    286|    return 0;
  149|    286|}
filter_impl.cpp:_ZL19u_cto32_e9_bswap_leP6Filter:
  129|    845|static int U(Filter *f) {
  130|    845|    byte *b = f->buf;
  131|    845|    const unsigned size5 = f->buf_len - 5;
  132|    845|    const unsigned addvalue = f->addvalue;
  133|    845|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|    845|    unsigned ic, jc;
  136|       |
  137|  3.94M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 3.94M, False: 845]
  ------------------
  138|  3.94M|        if (COND(b, ic)) {
  ------------------
  |  |   65|  3.94M|#define COND(b, x) (b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (65:20): [True: 208k, False: 3.74M]
  |  |  ------------------
  ------------------
  139|   208k|            jc = get_be32(b + ic + 1);
  140|   208k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 114k, False: 93.4k]
  ------------------
  141|   114k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   114k|                f->calls++;
  143|   114k|                ic += 4;
  144|   114k|                f->lastcall = ic + 1;
  145|   114k|            } else
  146|  93.4k|                f->noncalls++;
  147|   208k|        }
  148|    845|    return 0;
  149|    845|}
filter_impl.cpp:_ZL21u_cto32_e8e9_bswap_leP6Filter:
  129|    289|static int U(Filter *f) {
  130|    289|    byte *b = f->buf;
  131|    289|    const unsigned size5 = f->buf_len - 5;
  132|    289|    const unsigned addvalue = f->addvalue;
  133|    289|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|    289|    unsigned ic, jc;
  136|       |
  137|  41.9M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 41.9M, False: 289]
  ------------------
  138|  41.9M|        if (COND(b, ic)) {
  ------------------
  |  |   73|  41.9M|#define COND(b, x) (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (73:21): [True: 838k, False: 41.1M]
  |  |  |  Branch (73:37): [True: 325k, False: 40.7M]
  |  |  ------------------
  ------------------
  139|  1.16M|            jc = get_be32(b + ic + 1);
  140|  1.16M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 818k, False: 345k]
  ------------------
  141|   818k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   818k|                f->calls++;
  143|   818k|                ic += 4;
  144|   818k|                f->lastcall = ic + 1;
  145|   818k|            } else
  146|   345k|                f->noncalls++;
  147|  1.16M|        }
  148|    289|    return 0;
  149|    289|}

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

filter_impl.cpp:_ZL8f80_callPK6Filter:
   45|    290|static unsigned f80_call(const Filter *f) { return (1 + (0x0f & f->id)) % 3; }
filter_impl.cpp:_ZL8f80_jmp1PK6Filter:
   47|    580|static unsigned f80_jmp1(const Filter *f) { return ((1 + (0x0f & f->id)) / 3) % 3; }
filter_impl.cpp:_ZL8f80_jcc2PK6Filter:
   49|    290|static unsigned f80_jcc2(const Filter *f) { return f80_jmp1(f); }
filter_impl.cpp:_ZL10update_mrujiPjRiS0_:
   59|   349k|) {
   60|   349k|    if (0 > --hand) {
  ------------------
  |  Branch (60:9): [True: 13.0k, False: 336k]
  ------------------
   61|  13.0k|        hand = N_MRU - 1;
  ------------------
  |  |   51|  13.0k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
   62|  13.0k|    }
   63|   349k|    const unsigned t = mru[hand]; // entry which will be overwritten by jc
   64|   349k|    if (0 != t) {                 // have seen at least N_MRU destinations
  ------------------
  |  Branch (64:9): [True: 196k, False: 153k]
  ------------------
   65|   196k|        mru[kh] = t;
   66|   196k|    } else { // "cold cache": keep active region contiguous
   67|   153k|        if (0 > --tail) {
  ------------------
  |  Branch (67:13): [True: 4.79k, False: 148k]
  ------------------
   68|  4.79k|            tail = N_MRU - 1;
  ------------------
  |  |   51|  4.79k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
   69|  4.79k|        }
   70|   153k|        const unsigned t2 = mru[tail];
   71|   153k|        mru[tail] = 0;
   72|   153k|        mru[kh] = t2;
   73|   153k|    }
   74|   349k|    mru[hand] = jc;
   75|   349k|}
filter_impl.cpp:_ZL23u_ctojr32_e8e9_bswap_leP6Filter:
  234|    290|static int U(Filter *f) {
  235|    290|    unsigned ic, jc;
  236|       |
  237|    290|    byte *const b = f->buf;
  238|    290|    const unsigned size5 = f->buf_len - 5;
  239|    290|    const unsigned cto = (unsigned) f->cto << 24;
  240|    290|    unsigned lastcall = 0;
  241|    290|    int hand = 0, tail = 0;
  242|    290|    const unsigned f_call = f80_call(f);
  243|    290|    const unsigned f_jmp1 = f80_jmp1(f);
  244|    290|    const unsigned f_jcc2 = f80_jcc2(f);
  245|       |
  246|    290|    unsigned mru[N_MRU];
  247|    290|    memset(&mru[0], 0, sizeof(mru));
  248|       |
  249|  19.1M|    for (ic = 0; ic < size5; ic++) {
  ------------------
  |  Branch (249:18): [True: 19.1M, False: 282]
  ------------------
  250|  19.1M|        int which;
  251|  19.1M|        if (CONDU(which, b, ic, lastcall)) {
  ------------------
  |  |  121|  19.1M|#define CONDU(which, b, x, lastcall) (COND1(which, b, x) || COND2(which, b, lastcall, x, x, (x) -1))
  |  |  ------------------
  |  |  |  |  117|  38.3M|#define COND1(which, b, x)                 (COND_CALL(which, b, x) || COND_JMP(which, b, x))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|  38.3M|#define COND_CALL(which, b, x) ((which = 0), b[x] == 0xe8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:32): [True: 817k, False: 18.3M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |               #define COND1(which, b, x)                 (COND_CALL(which, b, x) || COND_JMP(which, b, x))
  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  18.3M|#define COND_JMP(which, b, x)  ((which = 1), b[x] == 0xe9)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (114:32): [True: 1.21M, False: 17.1M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define CONDU(which, b, x, lastcall) (COND1(which, b, x) || COND2(which, b, lastcall, x, x, (x) -1))
  |  |  ------------------
  |  |  |  |  118|  17.1M|#define COND2(which, b, lastcall, x, y, z) COND_JCC(which, b, lastcall, x, y, z)
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|  17.1M|    ((which = 2), (lastcall != (x) && 0xf == b[y] && 0x80 <= b[z] && b[z] <= 0x8f))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:5): [True: 390k, False: 16.7M]
  |  |  |  |  |  |  |  Branch (116:20): [True: 16.1M, False: 974k]
  |  |  |  |  |  |  |  Branch (116:39): [True: 785k, False: 15.3M]
  |  |  |  |  |  |  |  Branch (116:54): [True: 543k, False: 241k]
  |  |  |  |  |  |  |  Branch (116:70): [True: 390k, False: 152k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|  2.42M|            unsigned f_on = 0;
  253|  2.42M|            jc = get_be32(b + ic + 1) - cto;
  254|  2.42M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (254:17): [True: 1.66M, False: 756k]
  ------------------
  255|  1.66M|                if ((0 == which && MRUFLT == f_call) || (1 == which && MRUFLT == f_jmp1) ||
  ------------------
  |  |   43|   583k|#define MRUFLT 2 // mru filter
  ------------------
                              if ((0 == which && MRUFLT == f_call) || (1 == which && MRUFLT == f_jmp1) ||
  ------------------
  |  |   43|   722k|#define MRUFLT 2 // mru filter
  ------------------
  |  Branch (255:22): [True: 583k, False: 1.08M]
  |  Branch (255:36): [True: 358k, False: 225k]
  |  Branch (255:58): [True: 722k, False: 588k]
  |  Branch (255:72): [True: 270k, False: 451k]
  ------------------
  256|  1.03M|                    (2 == which && MRUFLT == f_jcc2)) {
  ------------------
  |  |   43|   363k|#define MRUFLT 2 // mru filter
  ------------------
  |  Branch (256:22): [True: 363k, False: 676k]
  |  Branch (256:36): [True: 99.1k, False: 264k]
  ------------------
  257|   728k|                    f_on = 1;
  258|   728k|                    if (1 & jc) { // 1st time at this destination
  ------------------
  |  Branch (258:25): [True: 379k, False: 349k]
  ------------------
  259|   379k|                        jc >>= 1;
  260|   379k|                        if (0 > --hand) {
  ------------------
  |  Branch (260:29): [True: 9.73k, False: 369k]
  ------------------
  261|  9.73k|                            hand = N_MRU - 1;
  ------------------
  |  |   51|  9.73k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  262|  9.73k|                        }
  263|   379k|                        mru[hand] = jc;
  264|   379k|                    } else { // not 1st time at this destination
  265|   349k|                        jc >>= 1;
  266|   349k|                        if (N_MRU <= jc) {
  ------------------
  |  |   51|   349k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  |  Branch (266:29): [True: 8, False: 349k]
  ------------------
  267|      8|                            throwCompressedDataViolation();
  268|      8|                        }
  269|   349k|                        int kh = jc + hand;
  270|   349k|                        if (N_MRU <= kh) {
  ------------------
  |  |   51|   349k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  |  Branch (270:29): [True: 147k, False: 201k]
  ------------------
  271|   147k|                            kh -= N_MRU;
  ------------------
  |  |   51|   147k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  272|   147k|                        }
  273|   349k|                        jc = mru[kh];
  274|   349k|                        update_mru(jc, kh, mru, hand, tail);
  275|   349k|                    }
  276|   728k|                    set_le32(b + ic + 1, jc - ic - 1);
  277|   940k|                } else if ((0 == which && NOFILT != f_call) || (1 == which && NOFILT != f_jmp1) ||
  ------------------
  |  |   41|   225k|#define NOFILT 0 // no filter
  ------------------
                              } else if ((0 == which && NOFILT != f_call) || (1 == which && NOFILT != f_jmp1) ||
  ------------------
  |  |   41|   451k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (277:29): [True: 225k, False: 715k]
  |  Branch (277:43): [True: 100k, False: 124k]
  |  Branch (277:65): [True: 451k, False: 388k]
  |  Branch (277:79): [True: 348k, False: 103k]
  ------------------
  278|   578k|                           (2 == which && NOFILT != f_jcc2)) {
  ------------------
  |  |   41|   264k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (278:29): [True: 264k, False: 227k]
  |  Branch (278:43): [True: 130k, False: 134k]
  ------------------
  279|   578k|                    f_on = 1;
  280|   578k|                    set_le32(b + ic + 1, jc - ic - 1);
  281|   578k|                }
  282|  1.66M|                if (2 == which && NOFILT != f_jcc2) {
  ------------------
  |  |   41|   363k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (282:21): [True: 363k, False: 1.30M]
  |  Branch (282:35): [True: 229k, False: 134k]
  ------------------
  283|       |                    // Unswap prefix and opcode for 6-byte Jcc <disp32>
  284|   229k|                    const unsigned char t = b[ic - 1];
  285|   229k|                    b[ic - 1] = b[ic];
  286|   229k|                    b[ic] = t;
  287|   229k|                }
  288|       |
  289|  1.66M|                if (f_on) {
  ------------------
  |  Branch (289:21): [True: 1.30M, False: 362k]
  ------------------
  290|  1.30M|                    f->calls++;
  291|  1.30M|                    ic += 4;
  292|  1.30M|                    f->lastcall = lastcall = ic + 1;
  293|  1.30M|                }
  294|  1.66M|            } else
  295|   756k|                f->noncalls++;
  296|  2.42M|        }
  297|  19.1M|    }
  298|    282|    return 0;
  299|    290|}

filter_impl.cpp:_ZL22u_ctok32_e8e9_bswap_leP6Filter:
  129|    314|static int U(Filter *f) {
  130|    314|    byte *b = f->buf;
  131|    314|    const unsigned size5 = f->buf_len - 5;
  132|    314|    const unsigned addvalue = f->addvalue;
  133|    314|    const unsigned cto = (unsigned) f->cto << 24;
  134|    314|    const unsigned id = f->id;
  135|    314|    unsigned lastcall = 0;
  136|       |
  137|    314|    unsigned ic, jc;
  138|       |
  139|  62.4M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (139:18): [True: 62.4M, False: 314]
  ------------------
  140|  62.4M|        if (COND(b, ic, lastcall, id)) {
  ------------------
  |  |   99|  62.4M|#define COND(b, x, lc, id) (COND1(b, x) || ((9 <= (0xf & (id))) && COND2(b, x, lc)))
  |  |  ------------------
  |  |  |  |   97|   124M|#define COND1(b, x)        (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:29): [True: 995k, False: 61.4M]
  |  |  |  |  |  Branch (97:45): [True: 385k, False: 61.0M]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define COND(b, x, lc, id) (COND1(b, x) || ((9 <= (0xf & (id))) && COND2(b, x, lc)))
  |  |  ------------------
  |  |  |  |   98|  61.0M|#define COND2(b, x, lc)    (lc != (x) && 0xf == b[(x) -1] && 0x80 <= b[x] && b[x] <= 0x8f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:29): [True: 60.1M, False: 913k]
  |  |  |  |  |  Branch (98:42): [True: 1.00M, False: 59.1M]
  |  |  |  |  |  Branch (98:62): [True: 646k, False: 360k]
  |  |  |  |  |  Branch (98:78): [True: 319k, False: 326k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (99:45): [True: 61.0M, False: 0]
  |  |  ------------------
  ------------------
  141|  1.70M|            jc = get_be32(b + ic + 1);
  142|  1.70M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (142:17): [True: 943k, False: 757k]
  ------------------
  143|   943k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  144|   943k|                f->calls++;
  145|   943k|                ic += 4;
  146|   943k|                f->lastcall = lastcall = ic + 1;
  147|   943k|            } else
  148|   757k|                f->noncalls++;
  149|  1.70M|        }
  150|    314|    return 0;
  151|    314|}

filter_impl.cpp:_ZL14u_ctsw16_e8_e9P6Filter:
   66|     86|static int u_ctsw16_e8_e9(Filter *f) {
   67|     86|    CTSW16(f, (*b == 0xe8), (*b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|     86|    byte *b = f->buf;                                                                              \
  |  |   34|     86|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.82M|    do {                                                                                           \
  |  |   36|  5.82M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 221k, False: 5.60M]
  |  |  ------------------
  |  |   37|   221k|            b += 1;                                                                                \
  |  |   38|   221k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   221k|            f->lastcall = a;                                                                       \
  |  |   40|   221k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   221k|            f->calls++;                                                                            \
  |  |   42|   221k|            b += 2 - 1;                                                                            \
  |  |   43|  5.60M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (43:20): [True: 396k, False: 5.21M]
  |  |  ------------------
  |  |   44|   396k|            b += 1;                                                                                \
  |  |   45|   396k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   46|   396k|            f->lastcall = a;                                                                       \
  |  |   47|   396k|            set(b, get(b));                                                                        \
  |  |   48|   396k|            f->calls++;                                                                            \
  |  |   49|   396k|            b += 2 - 1;                                                                            \
  |  |   50|   396k|        }                                                                                          \
  |  |   51|  5.82M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (51:14): [True: 5.82M, False: 86]
  |  |  ------------------
  |  |   52|     86|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (52:9): [True: 34, False: 52]
  |  |  ------------------
  |  |   53|     86|        f->lastcall += 2;                                                                          \
  |  |   54|     86|    return 0;
  ------------------
   68|     86|}
filter_impl.cpp:_ZL14u_ctsw16_e9_e8P6Filter:
   70|     59|static int u_ctsw16_e9_e8(Filter *f) {
   71|     59|    CTSW16(f, (*b == 0xe9), (*b == 0xe8), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|     59|    byte *b = f->buf;                                                                              \
  |  |   34|     59|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  7.21M|    do {                                                                                           \
  |  |   36|  7.21M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 591k, False: 6.61M]
  |  |  ------------------
  |  |   37|   591k|            b += 1;                                                                                \
  |  |   38|   591k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   591k|            f->lastcall = a;                                                                       \
  |  |   40|   591k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   591k|            f->calls++;                                                                            \
  |  |   42|   591k|            b += 2 - 1;                                                                            \
  |  |   43|  6.61M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (43:20): [True: 291k, False: 6.32M]
  |  |  ------------------
  |  |   44|   291k|            b += 1;                                                                                \
  |  |   45|   291k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   46|   291k|            f->lastcall = a;                                                                       \
  |  |   47|   291k|            set(b, get(b));                                                                        \
  |  |   48|   291k|            f->calls++;                                                                            \
  |  |   49|   291k|            b += 2 - 1;                                                                            \
  |  |   50|   291k|        }                                                                                          \
  |  |   51|  7.21M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (51:14): [True: 7.21M, False: 59]
  |  |  ------------------
  |  |   52|     59|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (52:9): [True: 33, False: 26]
  |  |  ------------------
  |  |   53|     59|        f->lastcall += 2;                                                                          \
  |  |   54|     59|    return 0;
  ------------------
   72|     59|}
filter_impl.cpp:_ZL14u_ctsw32_e8_e9P6Filter:
  123|     41|static int u_ctsw32_e8_e9(Filter *f) {
  124|     41|    CTSW32(f, (*b == 0xe8), (*b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |   90|     41|    byte *b = f->buf;                                                                              \
  |  |   91|     41|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   92|  4.11M|    do {                                                                                           \
  |  |   93|  4.11M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (93:13): [True: 85.9k, False: 4.03M]
  |  |  ------------------
  |  |   94|  85.9k|            b += 1;                                                                                \
  |  |   95|  85.9k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   96|  85.9k|            f->lastcall = a;                                                                       \
  |  |   97|  85.9k|            set(b, get(b) + (addvalue));                                                           \
  |  |   98|  85.9k|            f->calls++;                                                                            \
  |  |   99|  85.9k|            b += 4 - 1;                                                                            \
  |  |  100|  4.03M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (100:20): [True: 248k, False: 3.78M]
  |  |  ------------------
  |  |  101|   248k|            b += 1;                                                                                \
  |  |  102|   248k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  103|   248k|            f->lastcall = a;                                                                       \
  |  |  104|   248k|            set(b, get(b));                                                                        \
  |  |  105|   248k|            f->calls++;                                                                            \
  |  |  106|   248k|            b += 4 - 1;                                                                            \
  |  |  107|   248k|        }                                                                                          \
  |  |  108|  4.11M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (108:14): [True: 4.11M, False: 41]
  |  |  ------------------
  |  |  109|     41|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (109:9): [True: 30, False: 11]
  |  |  ------------------
  |  |  110|     41|        f->lastcall += 4;                                                                          \
  |  |  111|     41|    return 0;
  ------------------
  125|     41|}
filter_impl.cpp:_ZL14u_ctsw32_e9_e8P6Filter:
  127|    549|static int u_ctsw32_e9_e8(Filter *f) {
  128|    549|    CTSW32(f, (*b == 0xe9), (*b == 0xe8), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |   90|    549|    byte *b = f->buf;                                                                              \
  |  |   91|    549|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   92|  3.05M|    do {                                                                                           \
  |  |   93|  3.05M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (93:13): [True: 125k, False: 2.93M]
  |  |  ------------------
  |  |   94|   125k|            b += 1;                                                                                \
  |  |   95|   125k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   96|   125k|            f->lastcall = a;                                                                       \
  |  |   97|   125k|            set(b, get(b) + (addvalue));                                                           \
  |  |   98|   125k|            f->calls++;                                                                            \
  |  |   99|   125k|            b += 4 - 1;                                                                            \
  |  |  100|  2.93M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (100:20): [True: 99.6k, False: 2.83M]
  |  |  ------------------
  |  |  101|  99.6k|            b += 1;                                                                                \
  |  |  102|  99.6k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  103|  99.6k|            f->lastcall = a;                                                                       \
  |  |  104|  99.6k|            set(b, get(b));                                                                        \
  |  |  105|  99.6k|            f->calls++;                                                                            \
  |  |  106|  99.6k|            b += 4 - 1;                                                                            \
  |  |  107|  99.6k|        }                                                                                          \
  |  |  108|  3.05M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (108:14): [True: 3.05M, False: 549]
  |  |  ------------------
  |  |  109|    549|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (109:9): [True: 25, False: 524]
  |  |  ------------------
  |  |  110|    549|        f->lastcall += 4;                                                                          \
  |  |  111|    549|    return 0;
  ------------------
  129|    549|}

filter_impl.cpp:_ZL8u_ppcbxxP6Filter:
  124|  1.14k|static int U(Filter *f) {
  125|  1.14k|    byte *b = f->buf;
  126|  1.14k|    const unsigned size4 = upx::umin(f->buf_len - 4, 0u - (~0u << (32 - (6 + W_CTO))));
  ------------------
  |  |   36|  1.14k|#define W_CTO 4 /* width of cto; must match stub/ppc_bxx.S */
  ------------------
  127|  1.14k|    const unsigned addvalue = f->addvalue;
  128|       |
  129|  1.14k|    unsigned ic;
  130|       |
  131|  1.34M|    for (ic = 0; ic <= size4; ic += 4)
  ------------------
  |  Branch (131:18): [True: 1.34M, False: 1.14k]
  ------------------
  132|  1.34M|        if (COND(b, ic)) {
  ------------------
  |  |  141|  1.34M|#define COND(b, x) (18 == (get_be32(b + x) >> 26))
  |  |  ------------------
  |  |  |  Branch (141:20): [True: 116k, False: 1.22M]
  |  |  ------------------
  ------------------
  133|   116k|            const unsigned word = get_be32(b + ic);
  134|   116k|            if ((~(~0u << W_CTO) & (word >> (24 + 2 - W_CTO))) == (unsigned) f->cto) {
  ------------------
  |  |   36|   116k|#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|   116k|#define W_CTO 4 /* width of cto; must match stub/ppc_bxx.S */
  ------------------
  |  Branch (134:17): [True: 100k, False: 16.0k]
  ------------------
  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|  16.0k|                f->noncalls++;
  141|  16.0k|            }
  142|   116k|        }
  143|  1.14k|    return 0;
  144|  1.14k|}

filter_impl.cpp:_ZL9u_sub16_1P6Filter:
   52|    504|static int u_sub16_1(Filter *f) { ADD16(f, 1) }
  ------------------
  |  |   35|    504|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|    504|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    504|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    504|    int i;                                                                                         \
  |  |  |  |   60|    504|    T d[N];                                                                                        \
  |  |  |  |   61|    504|                                                                                                   \
  |  |  |  |   62|    504|    i = N - 1;                                                                                     \
  |  |  |  |   63|    504|    do                                                                                             \
  |  |  |  |   64|    504|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    504|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 504]
  |  |  |  |  ------------------
  |  |  |  |   66|    504|                                                                                                   \
  |  |  |  |   67|    504|    i = N - 1;                                                                                     \
  |  |  |  |   68|   213k|    do {                                                                                           \
  |  |  |  |   69|   213k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   213k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   213k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   213k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 213k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   213k|            i = N - 1;                                                                             \
  |  |  |  |   74|   213k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 212k, False: 504]
  |  |  |  |  ------------------
  |  |  |  |   75|    504|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    504|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|    504|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.00k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 504, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    504|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_2P6Filter:
   54|     89|static int u_sub16_2(Filter *f) { ADD16(f, 2) }
  ------------------
  |  |   35|     89|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|     89|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     89|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     89|    int i;                                                                                         \
  |  |  |  |   60|     89|    T d[N];                                                                                        \
  |  |  |  |   61|     89|                                                                                                   \
  |  |  |  |   62|     89|    i = N - 1;                                                                                     \
  |  |  |  |   63|     89|    do                                                                                             \
  |  |  |  |   64|    178|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    178|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 89, False: 89]
  |  |  |  |  ------------------
  |  |  |  |   66|     89|                                                                                                   \
  |  |  |  |   67|     89|    i = N - 1;                                                                                     \
  |  |  |  |   68|  10.1k|    do {                                                                                           \
  |  |  |  |   69|  10.1k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  10.1k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  10.1k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  10.1k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 5.02k, False: 5.08k]
  |  |  |  |  ------------------
  |  |  |  |   73|  10.1k|            i = N - 1;                                                                             \
  |  |  |  |   74|  10.1k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 10.0k, False: 89]
  |  |  |  |  ------------------
  |  |  |  |   75|     89|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     89|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|     89|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    178|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 89, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     89|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_3P6Filter:
   56|  1.79k|static int u_sub16_3(Filter *f) { ADD16(f, 3) }
  ------------------
  |  |   35|  1.79k|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|  1.79k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.79k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.79k|    int i;                                                                                         \
  |  |  |  |   60|  1.79k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.79k|                                                                                                   \
  |  |  |  |   62|  1.79k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.79k|    do                                                                                             \
  |  |  |  |   64|  5.38k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  5.38k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 3.58k, False: 1.79k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.79k|                                                                                                   \
  |  |  |  |   67|  1.79k|    i = N - 1;                                                                                     \
  |  |  |  |   68|   188k|    do {                                                                                           \
  |  |  |  |   69|   188k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   188k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   188k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   188k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 62.7k, False: 125k]
  |  |  |  |  ------------------
  |  |  |  |   73|   188k|            i = N - 1;                                                                             \
  |  |  |  |   74|   188k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 186k, False: 1.79k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.79k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.79k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|  1.79k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  3.58k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.79k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.79k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_4P6Filter:
   58|    896|static int u_sub16_4(Filter *f) { ADD16(f, 4) }
  ------------------
  |  |   35|    896|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|    896|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    896|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    896|    int i;                                                                                         \
  |  |  |  |   60|    896|    T d[N];                                                                                        \
  |  |  |  |   61|    896|                                                                                                   \
  |  |  |  |   62|    896|    i = N - 1;                                                                                     \
  |  |  |  |   63|    896|    do                                                                                             \
  |  |  |  |   64|  3.58k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.58k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 2.68k, False: 896]
  |  |  |  |  ------------------
  |  |  |  |   66|    896|                                                                                                   \
  |  |  |  |   67|    896|    i = N - 1;                                                                                     \
  |  |  |  |   68|  97.1k|    do {                                                                                           \
  |  |  |  |   69|  97.1k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  97.1k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  97.1k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  97.1k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 24.0k, False: 73.1k]
  |  |  |  |  ------------------
  |  |  |  |   73|  97.1k|            i = N - 1;                                                                             \
  |  |  |  |   74|  97.1k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 96.2k, False: 896]
  |  |  |  |  ------------------
  |  |  |  |   75|    896|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    896|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|    896|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.79k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 896, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    896|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL9u_sub32_1P6Filter:
   52|    231|static int u_sub32_1(Filter *f) { ADD32(f, 1) }
  ------------------
  |  |   35|    231|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    231|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    231|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    231|    int i;                                                                                         \
  |  |  |  |   60|    231|    T d[N];                                                                                        \
  |  |  |  |   61|    231|                                                                                                   \
  |  |  |  |   62|    231|    i = N - 1;                                                                                     \
  |  |  |  |   63|    231|    do                                                                                             \
  |  |  |  |   64|    231|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    231|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 231]
  |  |  |  |  ------------------
  |  |  |  |   66|    231|                                                                                                   \
  |  |  |  |   67|    231|    i = N - 1;                                                                                     \
  |  |  |  |   68|  98.3k|    do {                                                                                           \
  |  |  |  |   69|  98.3k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  98.3k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  98.3k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  98.3k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 98.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|  98.3k|            i = N - 1;                                                                             \
  |  |  |  |   74|  98.3k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 98.1k, False: 231]
  |  |  |  |  ------------------
  |  |  |  |   75|    231|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    231|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|    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 (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    231|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_2P6Filter:
   54|  1.81k|static int u_sub32_2(Filter *f) { ADD32(f, 2) }
  ------------------
  |  |   35|  1.81k|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|  1.81k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.81k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.81k|    int i;                                                                                         \
  |  |  |  |   60|  1.81k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.81k|                                                                                                   \
  |  |  |  |   62|  1.81k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.81k|    do                                                                                             \
  |  |  |  |   64|  3.62k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.62k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 1.81k, False: 1.81k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.81k|                                                                                                   \
  |  |  |  |   67|  1.81k|    i = N - 1;                                                                                     \
  |  |  |  |   68|   139k|    do {                                                                                           \
  |  |  |  |   69|   139k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   139k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   139k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   139k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 69.7k, False: 70.2k]
  |  |  |  |  ------------------
  |  |  |  |   73|   139k|            i = N - 1;                                                                             \
  |  |  |  |   74|   139k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 138k, False: 1.81k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.81k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.81k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|  1.81k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  3.62k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.81k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.81k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_3P6Filter:
   56|  1.13k|static int u_sub32_3(Filter *f) { ADD32(f, 3) }
  ------------------
  |  |   35|  1.13k|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|  1.13k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.13k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.13k|    int i;                                                                                         \
  |  |  |  |   60|  1.13k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.13k|                                                                                                   \
  |  |  |  |   62|  1.13k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.13k|    do                                                                                             \
  |  |  |  |   64|  3.39k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.39k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 2.26k, False: 1.13k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.13k|                                                                                                   \
  |  |  |  |   67|  1.13k|    i = N - 1;                                                                                     \
  |  |  |  |   68|  65.0k|    do {                                                                                           \
  |  |  |  |   69|  65.0k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  65.0k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  65.0k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  65.0k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 20.9k, False: 44.0k]
  |  |  |  |  ------------------
  |  |  |  |   73|  65.0k|            i = N - 1;                                                                             \
  |  |  |  |   74|  65.0k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 63.8k, False: 1.13k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.13k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.13k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|  1.13k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  2.26k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.13k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.13k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_4P6Filter:
   58|    988|static int u_sub32_4(Filter *f) { ADD32(f, 4) }
  ------------------
  |  |   35|    988|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    988|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    988|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    988|    int i;                                                                                         \
  |  |  |  |   60|    988|    T d[N];                                                                                        \
  |  |  |  |   61|    988|                                                                                                   \
  |  |  |  |   62|    988|    i = N - 1;                                                                                     \
  |  |  |  |   63|    988|    do                                                                                             \
  |  |  |  |   64|  3.95k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.95k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 2.96k, False: 988]
  |  |  |  |  ------------------
  |  |  |  |   66|    988|                                                                                                   \
  |  |  |  |   67|    988|    i = N - 1;                                                                                     \
  |  |  |  |   68|   133k|    do {                                                                                           \
  |  |  |  |   69|   133k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   133k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   133k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   133k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 33.1k, False: 100k]
  |  |  |  |  ------------------
  |  |  |  |   73|   133k|            i = N - 1;                                                                             \
  |  |  |  |   74|   133k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 132k, False: 988]
  |  |  |  |  ------------------
  |  |  |  |   75|    988|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    988|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|    988|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.97k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 988, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    988|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL8u_sub8_1P6Filter:
   52|    383|static int u_sub8_1(Filter *f) { ADD8(f, 1) }
  ------------------
  |  |   35|    383|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    383|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    383|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    383|    int i;                                                                                         \
  |  |  |  |   60|    383|    T d[N];                                                                                        \
  |  |  |  |   61|    383|                                                                                                   \
  |  |  |  |   62|    383|    i = N - 1;                                                                                     \
  |  |  |  |   63|    383|    do                                                                                             \
  |  |  |  |   64|    383|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    383|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 383]
  |  |  |  |  ------------------
  |  |  |  |   66|    383|                                                                                                   \
  |  |  |  |   67|    383|    i = N - 1;                                                                                     \
  |  |  |  |   68|   118k|    do {                                                                                           \
  |  |  |  |   69|   118k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   118k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   118k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   118k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   118k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   118k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   118k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   118k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 118k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   118k|            i = N - 1;                                                                             \
  |  |  |  |   74|   118k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 118k, False: 383]
  |  |  |  |  ------------------
  |  |  |  |   75|    383|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    383|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|    383|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    766|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 383, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    383|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_2P6Filter:
   54|    511|static int u_sub8_2(Filter *f) { ADD8(f, 2) }
  ------------------
  |  |   35|    511|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    511|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    511|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    511|    int i;                                                                                         \
  |  |  |  |   60|    511|    T d[N];                                                                                        \
  |  |  |  |   61|    511|                                                                                                   \
  |  |  |  |   62|    511|    i = N - 1;                                                                                     \
  |  |  |  |   63|    511|    do                                                                                             \
  |  |  |  |   64|  1.02k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.02k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 511, False: 511]
  |  |  |  |  ------------------
  |  |  |  |   66|    511|                                                                                                   \
  |  |  |  |   67|    511|    i = N - 1;                                                                                     \
  |  |  |  |   68|   495k|    do {                                                                                           \
  |  |  |  |   69|   495k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   495k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   495k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   495k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   495k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   495k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   495k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   495k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 247k, False: 247k]
  |  |  |  |  ------------------
  |  |  |  |   73|   495k|            i = N - 1;                                                                             \
  |  |  |  |   74|   495k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 494k, False: 511]
  |  |  |  |  ------------------
  |  |  |  |   75|    511|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    511|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|    511|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.02k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 511, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    511|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_3P6Filter:
   56|    448|static int u_sub8_3(Filter *f) { ADD8(f, 3) }
  ------------------
  |  |   35|    448|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    448|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    448|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    448|    int i;                                                                                         \
  |  |  |  |   60|    448|    T d[N];                                                                                        \
  |  |  |  |   61|    448|                                                                                                   \
  |  |  |  |   62|    448|    i = N - 1;                                                                                     \
  |  |  |  |   63|    448|    do                                                                                             \
  |  |  |  |   64|  1.34k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.34k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 896, False: 448]
  |  |  |  |  ------------------
  |  |  |  |   66|    448|                                                                                                   \
  |  |  |  |   67|    448|    i = N - 1;                                                                                     \
  |  |  |  |   68|   473k|    do {                                                                                           \
  |  |  |  |   69|   473k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   473k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   473k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   473k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   473k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   473k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   473k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   473k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 157k, False: 316k]
  |  |  |  |  ------------------
  |  |  |  |   73|   473k|            i = N - 1;                                                                             \
  |  |  |  |   74|   473k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 473k, False: 448]
  |  |  |  |  ------------------
  |  |  |  |   75|    448|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    448|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|    448|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    896|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 448, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    448|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_4P6Filter:
   58|    188|static int u_sub8_4(Filter *f) { ADD8(f, 4) }
  ------------------
  |  |   35|    188|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    188|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    188|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    188|    int i;                                                                                         \
  |  |  |  |   60|    188|    T d[N];                                                                                        \
  |  |  |  |   61|    188|                                                                                                   \
  |  |  |  |   62|    188|    i = N - 1;                                                                                     \
  |  |  |  |   63|    188|    do                                                                                             \
  |  |  |  |   64|    752|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    752|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 564, False: 188]
  |  |  |  |  ------------------
  |  |  |  |   66|    188|                                                                                                   \
  |  |  |  |   67|    188|    i = N - 1;                                                                                     \
  |  |  |  |   68|   384k|    do {                                                                                           \
  |  |  |  |   69|   384k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   384k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   384k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   384k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   384k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   384k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   384k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   384k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 96.0k, False: 288k]
  |  |  |  |  ------------------
  |  |  |  |   73|   384k|            i = N - 1;                                                                             \
  |  |  |  |   74|   384k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 384k, False: 188]
  |  |  |  |  ------------------
  |  |  |  |   75|    188|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    188|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  496|    188|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    376|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 188, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    188|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL9u_sw16_e8P6Filter:
   57|    192|static int u_sw16_e8(Filter *f) { SW16(f, (*b == 0xe8), get_be16, set_le16) }
  ------------------
  |  |   33|    192|    byte *b = f->buf;                                                                              \
  |  |   34|    192|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.40M|    do {                                                                                           \
  |  |   36|  3.40M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 405k, False: 2.99M]
  |  |  ------------------
  |  |   37|   405k|            b += 1;                                                                                \
  |  |   38|   405k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   405k|            f->lastcall = a;                                                                       \
  |  |   40|   405k|            set(b, get(b));                                                                        \
  |  |   41|   405k|            f->calls++;                                                                            \
  |  |   42|   405k|            b += 2 - 1;                                                                            \
  |  |   43|   405k|        }                                                                                          \
  |  |   44|  3.40M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.40M, False: 192]
  |  |  ------------------
  |  |   45|    192|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 30, False: 162]
  |  |  ------------------
  |  |   46|    192|        f->lastcall += 2;                                                                          \
  |  |   47|    192|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw16_e9P6Filter:
   59|  1.16k|static int u_sw16_e9(Filter *f) { SW16(f, (*b == 0xe9), get_be16, set_le16) }
  ------------------
  |  |   33|  1.16k|    byte *b = f->buf;                                                                              \
  |  |   34|  1.16k|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.94M|    do {                                                                                           \
  |  |   36|  3.94M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 389k, False: 3.55M]
  |  |  ------------------
  |  |   37|   389k|            b += 1;                                                                                \
  |  |   38|   389k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   389k|            f->lastcall = a;                                                                       \
  |  |   40|   389k|            set(b, get(b));                                                                        \
  |  |   41|   389k|            f->calls++;                                                                            \
  |  |   42|   389k|            b += 2 - 1;                                                                            \
  |  |   43|   389k|        }                                                                                          \
  |  |   44|  3.94M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.94M, False: 1.16k]
  |  |  ------------------
  |  |   45|  1.16k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 15, False: 1.14k]
  |  |  ------------------
  |  |   46|  1.16k|        f->lastcall += 2;                                                                          \
  |  |   47|  1.16k|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_sw16_e8e9P6Filter:
   61|     92|static int u_sw16_e8e9(Filter *f) { SW16(f, (*b == 0xe8 || *b == 0xe9), get_be16, set_le16) }
  ------------------
  |  |   33|     92|    byte *b = f->buf;                                                                              \
  |  |   34|     92|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.36M|    do {                                                                                           \
  |  |   36|  15.9M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 99.3k, False: 5.26M]
  |  |  |  Branch (36:13): [True: 910k, False: 4.35M]
  |  |  ------------------
  |  |   37|  1.01M|            b += 1;                                                                                \
  |  |   38|  1.01M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|  1.01M|            f->lastcall = a;                                                                       \
  |  |   40|  1.01M|            set(b, get(b));                                                                        \
  |  |   41|  1.01M|            f->calls++;                                                                            \
  |  |   42|  1.01M|            b += 2 - 1;                                                                            \
  |  |   43|  1.01M|        }                                                                                          \
  |  |   44|  5.36M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.36M, False: 92]
  |  |  ------------------
  |  |   45|     92|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 40, False: 52]
  |  |  ------------------
  |  |   46|     92|        f->lastcall += 2;                                                                          \
  |  |   47|     92|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw32_e8P6Filter:
  101|    386|static int u_sw32_e8(Filter *f) { SW32(f, (*b == 0xe8), get_be32, set_le32) }
  ------------------
  |  |   77|    386|    byte *b = f->buf;                                                                              \
  |  |   78|    386|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  3.08M|    do {                                                                                           \
  |  |   80|  3.08M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 140k, False: 2.94M]
  |  |  ------------------
  |  |   81|   140k|            b += 1;                                                                                \
  |  |   82|   140k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|   140k|            f->lastcall = a;                                                                       \
  |  |   84|   140k|            set(b, get(b));                                                                        \
  |  |   85|   140k|            f->calls++;                                                                            \
  |  |   86|   140k|            b += 4 - 1;                                                                            \
  |  |   87|   140k|        }                                                                                          \
  |  |   88|  3.08M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 3.08M, False: 386]
  |  |  ------------------
  |  |   89|    386|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 342, False: 44]
  |  |  ------------------
  |  |   90|    386|        f->lastcall += 4;                                                                          \
  |  |   91|    386|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw32_e9P6Filter:
  103|    434|static int u_sw32_e9(Filter *f) { SW32(f, (*b == 0xe9), get_be32, set_le32) }
  ------------------
  |  |   77|    434|    byte *b = f->buf;                                                                              \
  |  |   78|    434|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  3.43M|    do {                                                                                           \
  |  |   80|  3.43M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 204k, False: 3.23M]
  |  |  ------------------
  |  |   81|   204k|            b += 1;                                                                                \
  |  |   82|   204k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|   204k|            f->lastcall = a;                                                                       \
  |  |   84|   204k|            set(b, get(b));                                                                        \
  |  |   85|   204k|            f->calls++;                                                                            \
  |  |   86|   204k|            b += 4 - 1;                                                                            \
  |  |   87|   204k|        }                                                                                          \
  |  |   88|  3.43M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 3.43M, False: 434]
  |  |  ------------------
  |  |   89|    434|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 13, False: 421]
  |  |  ------------------
  |  |   90|    434|        f->lastcall += 4;                                                                          \
  |  |   91|    434|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_sw32_e8e9P6Filter:
  105|    112|static int u_sw32_e8e9(Filter *f) { SW32(f, (*b == 0xe8 || *b == 0xe9), get_be32, set_le32) }
  ------------------
  |  |   77|    112|    byte *b = f->buf;                                                                              \
  |  |   78|    112|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  4.07M|    do {                                                                                           \
  |  |   80|  12.1M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 123k, False: 3.95M]
  |  |  |  Branch (80:13): [True: 143k, False: 3.81M]
  |  |  ------------------
  |  |   81|   267k|            b += 1;                                                                                \
  |  |   82|   267k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|   267k|            f->lastcall = a;                                                                       \
  |  |   84|   267k|            set(b, get(b));                                                                        \
  |  |   85|   267k|            f->calls++;                                                                            \
  |  |   86|   267k|            b += 4 - 1;                                                                            \
  |  |   87|   267k|        }                                                                                          \
  |  |   88|  4.07M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 4.07M, False: 112]
  |  |  ------------------
  |  |   89|    112|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 26, False: 86]
  |  |  ------------------
  |  |   90|    112|        f->lastcall += 4;                                                                          \
  |  |   91|    112|    return 0;
  ------------------

_Z11show_headerv:
   89|  15.9k|void show_header() {
   90|  15.9k|    FILE *f = con_term;
   91|  15.9k|    int fg;
   92|       |
   93|  15.9k|    static bool header_done;
   94|  15.9k|    if (header_done)
  ------------------
  |  Branch (94:9): [True: 15.9k, False: 1]
  ------------------
   95|  15.9k|        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     "Jun 9th 2026"
  ------------------
  116|       |    // clang-format on
  117|      1|    fg = con_fg(f, fg);
  ------------------
  |  |  164|      1|#define con_fg(f, x) 0
  ------------------
  118|      1|    UNUSED(fg);
  ------------------
  |  |  252|      1|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|      1|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  119|      1|}

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

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

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

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

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

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

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

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

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

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

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

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

_ZNK7PackExe10getVersionEv:
   39|  14.9k|    virtual int getVersion() const override { return 13; }
_ZNK7PackExe9getFormatEv:
   40|  29.8k|    virtual int getFormat() const override { return UPX_F_DOS_EXE; }
  ------------------
  |  |  556|  29.8k|#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|     63|    virtual bool canUnpackFormat(int format) const override {
   58|     63|        return (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH);
  ------------------
  |  |  556|    126|#define UPX_F_DOS_EXE             3
  ------------------
                      return (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH);
  ------------------
  |  |  560|     52|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (58:17): [True: 11, False: 52]
  |  Branch (58:44): [True: 32, False: 20]
  ------------------
   59|     63|    }

_ZNK14PackLinuxElf329checkEhdrEPKN5N_Elf4EhdrINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEE:
  151|   102k|{
  152|   102k|    const unsigned char * const buf = ehdr->e_ident;
  153|       |
  154|   102k|    if (0!=memcmp(buf, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (154:9): [True: 48.0k, False: 54.0k]
  ------------------
  155|  54.0k|    ||  buf[Elf32_Ehdr::EI_CLASS]!=ei_class
  ------------------
  |  Branch (155:9): [True: 23.2k, False: 30.8k]
  ------------------
  156|  30.8k|    ||  buf[Elf32_Ehdr::EI_DATA] !=ei_data
  ------------------
  |  Branch (156:9): [True: 17.2k, False: 13.5k]
  ------------------
  157|   102k|    ) {
  158|  88.5k|        return -1;
  159|  88.5k|    }
  160|  13.5k|    if (!memcmp(buf+8, "FreeBSD", 7))                   // branded
  ------------------
  |  Branch (160:9): [True: 39, False: 13.5k]
  ------------------
  161|     39|        return 1;
  162|       |
  163|  13.5k|    int const type = get_te16(&ehdr->e_type);
  164|  13.5k|    if (type != Elf32_Ehdr::ET_EXEC && type != Elf32_Ehdr::ET_DYN)
  ------------------
  |  Branch (164:9): [True: 2.81k, False: 10.7k]
  |  Branch (164:40): [True: 1.93k, False: 877]
  ------------------
  165|  1.93k|        return 2;
  166|  11.5k|    if (get_te16(&ehdr->e_machine) != (unsigned) e_machine)
  ------------------
  |  Branch (166:9): [True: 2.83k, False: 8.74k]
  ------------------
  167|  2.83k|        return 3;
  168|  8.74k|    if (get_te32(&ehdr->e_version) != Elf32_Ehdr::EV_CURRENT)
  ------------------
  |  Branch (168:9): [True: 587, False: 8.15k]
  ------------------
  169|    587|        return 4;
  170|  8.15k|    if (e_phnum < 1)
  ------------------
  |  Branch (170:9): [True: 418, False: 7.74k]
  ------------------
  171|    418|        return 5;
  172|  7.74k|    if (get_te16(&ehdr->e_phentsize) != sizeof(Elf32_Phdr))
  ------------------
  |  Branch (172:9): [True: 158, False: 7.58k]
  ------------------
  173|    158|        return 6;
  174|       |
  175|  7.58k|    if (type == Elf32_Ehdr::ET_EXEC) {
  ------------------
  |  Branch (175:9): [True: 7.18k, False: 394]
  ------------------
  176|       |        // check for Linux kernels
  177|  7.18k|        unsigned const entry = get_te32(&ehdr->e_entry);
  178|  7.18k|        if (entry == 0xC0100000)    // uncompressed vmlinux
  ------------------
  |  Branch (178:13): [True: 5, False: 7.18k]
  ------------------
  179|      5|            return 1000;
  180|  7.18k|        if (entry == 0x00001000)    // compressed vmlinux
  ------------------
  |  Branch (180:13): [True: 5, False: 7.17k]
  ------------------
  181|      5|            return 1001;
  182|  7.17k|        if (entry == 0x00100000)    // compressed bvmlinux
  ------------------
  |  Branch (182:13): [True: 5, False: 7.17k]
  ------------------
  183|      5|            return 1002;
  184|  7.17k|    }
  185|       |
  186|       |    // FIXME: add more checks for kernels
  187|       |
  188|       |    // FIXME: add special checks for other ELF i386 formats, like
  189|       |    //        NetBSD, OpenBSD, Solaris, ....
  190|       |
  191|       |    // success
  192|  7.56k|    return 0;
  193|  7.58k|}
_ZNK14PackLinuxElf649checkEhdrEPKN5N_Elf4EhdrINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEE:
  197|  45.3k|{
  198|  45.3k|    const unsigned char * const buf = ehdr->e_ident;
  199|  45.3k|    unsigned char osabi0 = buf[Elf32_Ehdr::EI_OSABI];
  200|  45.3k|    if (0==osabi0) {
  ------------------
  |  Branch (200:9): [True: 15.6k, False: 29.7k]
  ------------------
  201|  15.6k|        osabi0 = opt->o_unix.osabi0;
  202|  15.6k|    }
  203|       |
  204|  45.3k|    if (0!=memcmp(buf, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (204:9): [True: 26.7k, False: 18.5k]
  ------------------
  205|  18.5k|    ||  buf[Elf64_Ehdr::EI_CLASS]!=ei_class
  ------------------
  |  Branch (205:9): [True: 10.6k, False: 7.96k]
  ------------------
  206|  7.96k|    ||  buf[Elf64_Ehdr::EI_DATA] !=ei_data
  ------------------
  |  Branch (206:9): [True: 2.98k, False: 4.97k]
  ------------------
  207|  4.97k|    ||                     osabi0!=ei_osabi
  ------------------
  |  Branch (207:28): [True: 302, False: 4.67k]
  ------------------
  208|  45.3k|    ) {
  209|  40.6k|        return -1;
  210|  40.6k|    }
  211|  4.67k|    if (!memcmp(buf+8, "FreeBSD", 7))                   // branded
  ------------------
  |  Branch (211:9): [True: 6, False: 4.66k]
  ------------------
  212|      6|        return 1;
  213|       |
  214|  4.66k|    int const type = get_te16(&ehdr->e_type);
  215|  4.66k|    if (type != Elf64_Ehdr::ET_EXEC && type != Elf64_Ehdr::ET_DYN)
  ------------------
  |  Branch (215:9): [True: 2.33k, False: 2.33k]
  |  Branch (215:40): [True: 1.85k, False: 479]
  ------------------
  216|  1.85k|        return 2;
  217|  2.81k|    if (get_te16(&ehdr->e_machine) != (unsigned) e_machine)
  ------------------
  |  Branch (217:9): [True: 1.01k, False: 1.79k]
  ------------------
  218|  1.01k|        return 3;
  219|  1.79k|    if (get_te32(&ehdr->e_version) != Elf64_Ehdr::EV_CURRENT)
  ------------------
  |  Branch (219:9): [True: 60, False: 1.73k]
  ------------------
  220|     60|        return 4;
  221|  1.73k|    if (e_phnum < 1)
  ------------------
  |  Branch (221:9): [True: 1, False: 1.73k]
  ------------------
  222|      1|        return 5;
  223|  1.73k|    if (get_te16(&ehdr->e_phentsize) != sizeof(Elf64_Phdr))
  ------------------
  |  Branch (223:9): [True: 61, False: 1.67k]
  ------------------
  224|     61|        return 6;
  225|       |
  226|  1.67k|    if (type == Elf64_Ehdr::ET_EXEC) {
  ------------------
  |  Branch (226:9): [True: 1.53k, False: 142]
  ------------------
  227|       |        // check for Linux kernels
  228|  1.53k|        upx_uint64_t const entry = get_te64(&ehdr->e_entry);
  229|  1.53k|        if (entry == 0xC0100000)    // uncompressed vmlinux
  ------------------
  |  Branch (229:13): [True: 1, False: 1.53k]
  ------------------
  230|      1|            return 1000;
  231|  1.53k|        if (entry == 0x00001000)    // compressed vmlinux
  ------------------
  |  Branch (231:13): [True: 1, False: 1.53k]
  ------------------
  232|      1|            return 1001;
  233|  1.53k|        if (entry == 0x00100000)    // compressed bvmlinux
  ------------------
  |  Branch (233:13): [True: 1, False: 1.53k]
  ------------------
  234|      1|            return 1002;
  235|  1.53k|    }
  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.67k|    return 0;
  244|  1.67k|}
_ZN12PackLinuxElfC2EP9InputFile:
  247|   150k|    : super(f), e_phnum(0), dynstr(nullptr),
  248|   150k|    sz_phdrs(0), sz_elf_hdrs(0), sz_pack2(0), sz_pack2a(0),
  249|   150k|    lg2_page(12), page_size(1u<<lg2_page), is_pie(0), is_asl(0),
  250|   150k|    xct_off(0), o_binfo(0), so_slide(0), xct_va(0), jni_onload_va(0),
  251|   150k|    user_init_va(0), user_init_off(0),
  252|   150k|    e_machine(0), ei_class(0), ei_data(0), ei_osabi(0), osabi_note(nullptr),
  253|   150k|    shstrtab(nullptr),
  254|   150k|    o_elf_shnum(0)
  255|   150k|{
  256|   150k|    memset(dt_table, 0, sizeof(dt_table));
  257|   150k|    symnum_max = 0;
  258|   150k|    user_init_rp = nullptr;
  259|   150k|}
_ZN12PackLinuxElfD2Ev:
  262|   150k|{
  263|   150k|}
_ZNK14PackLinuxElf327is_LOADEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
  266|  57.8k|{
  267|       |    // (1+ PT_LOPROC) can confuse!
  268|  57.8k|    return PT_LOAD == get_te32(&phdr->p_type);
  ------------------
  |  |   56|  57.8k|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  269|  57.8k|}
_ZNK14PackLinuxElf647is_LOADEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
  272|  60.5k|{
  273|       |    // (1+ PT_LOPROC) can confuse!
  274|  60.5k|    return PT_LOAD == get_te32(&phdr->p_type);
  ------------------
  |  |   56|  60.5k|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  275|  60.5k|}
_ZN14PackLinuxElf3219PackLinuxElf32help1EP9InputFile:
  279|   103k|{
  280|   103k|    e_type  = get_te16(&ehdri.e_type);
  281|   103k|    e_phnum = get_te16(&ehdri.e_phnum);
  282|   103k|    e_shnum = get_te16(&ehdri.e_shnum);
  283|   103k|    unsigned const e_phentsize = get_te16(&ehdri.e_phentsize);
  284|   103k|    if (memcmp((char const *)&ehdri, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (284:9): [True: 48.0k, False: 55.8k]
  ------------------
  285|  55.8k|    || ehdri.e_ident[Elf32_Ehdr::EI_CLASS]!=Elf32_Ehdr::ELFCLASS32
  ------------------
  |  Branch (285:8): [True: 23.2k, False: 32.6k]
  ------------------
  286|  32.6k|    || sizeof(Elf32_Phdr) != e_phentsize
  ------------------
  |  Branch (286:8): [True: 20.5k, False: 12.1k]
  ------------------
  287|  12.1k|    || (Elf32_Ehdr::ELFDATA2MSB == ehdri.e_ident[Elf32_Ehdr::EI_DATA]
  ------------------
  |  Branch (287:9): [True: 3.55k, False: 8.55k]
  ------------------
  288|  3.55k|            && &N_BELE_RTP::be_policy != bele)
  ------------------
  |  Branch (288:16): [True: 42, False: 3.51k]
  ------------------
  289|  12.0k|    || (Elf32_Ehdr::ELFDATA2LSB == ehdri.e_ident[Elf32_Ehdr::EI_DATA]
  ------------------
  |  Branch (289:9): [True: 8.19k, False: 3.88k]
  ------------------
  290|  91.8k|            && &N_BELE_RTP::le_policy != bele)) {
  ------------------
  |  Branch (290:16): [True: 12, False: 8.18k]
  ------------------
  291|  91.8k|        e_phoff = 0;
  292|  91.8k|        e_shoff = 0;
  293|  91.8k|        sz_phdrs = 0;
  294|  91.8k|        return;
  295|  91.8k|    }
  296|  12.0k|    if (0==e_phnum) throwCantUnpack("0==e_phnum");
  ------------------
  |  Branch (296:9): [True: 4, False: 12.0k]
  ------------------
  297|  12.0k|    e_phoff = get_te32(&ehdri.e_phoff);
  298|  12.0k|    unsigned const last_Phdr = e_phoff + e_phnum * usizeof(Elf32_Phdr);
  ------------------
  |  |  512|  12.0k|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
  299|  12.0k|    if (last_Phdr < e_phoff  // wrap-around
  ------------------
  |  Branch (299:9): [True: 34, False: 12.0k]
  ------------------
  300|  12.0k|    ||  e_phoff != sizeof(Elf32_Ehdr)  // must be contiguous
  ------------------
  |  Branch (300:9): [True: 407, False: 11.6k]
  ------------------
  301|  11.6k|    ||  (unsigned long)file_size < last_Phdr) {
  ------------------
  |  Branch (301:9): [True: 11, False: 11.6k]
  ------------------
  302|    452|        throwCantUnpack("bad e_phoff %#x", e_phoff);
  303|    452|    }
  304|  11.6k|    e_shoff = get_te32(&ehdri.e_shoff);
  305|  11.6k|    e_shstrndx = get_te16(&ehdri.e_shstrndx);
  306|  11.6k|    unsigned const last_Shdr = e_shoff + e_shnum * usizeof(Elf32_Shdr);
  ------------------
  |  |  512|  11.6k|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
  307|  11.6k|    if (last_Shdr < e_shoff  // wrap-around
  ------------------
  |  Branch (307:9): [True: 171, False: 11.4k]
  ------------------
  308|  11.4k|    ||  (e_shnum && e_shoff < last_Phdr)
  ------------------
  |  Branch (308:10): [True: 6.63k, False: 4.79k]
  |  Branch (308:21): [True: 2.50k, False: 4.13k]
  ------------------
  309|  8.93k|    ||  (unsigned long)file_size < last_Shdr) {
  ------------------
  |  Branch (309:9): [True: 4.68k, False: 4.24k]
  ------------------
  310|  7.36k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (310:13): [True: 0, False: 7.36k]
  ------------------
  311|      0|            throwCantUnpack("bad e_shoff %#x", e_shoff);
  312|      0|        }
  313|  7.36k|    }
  314|  11.6k|    sz_phdrs = e_phnum * e_phentsize;
  315|  11.6k|    sz_elf_hdrs = sz_phdrs + sizeof(Elf32_Ehdr) +
  316|  11.6k|        n_phdrx * sizeof(Elf32_Phdr);  // phdrx bodies later: ::generateElfHdr
  317|       |
  318|  11.6k|    if (f && Elf32_Ehdr::ET_DYN!=e_type) {
  ------------------
  |  Branch (318:9): [True: 11.6k, False: 0]
  |  Branch (318:14): [True: 9.34k, False: 2.26k]
  ------------------
  319|  9.34k|        unsigned const len = file_size;  // (sz_phdrs + e_phoff) except --preserve-build-id
  320|  9.34k|        alloc_file_image(file_image, len);
  321|  9.34k|        f->seek(0, SEEK_SET);
  322|  9.34k|        f->readx(file_image, len);
  323|  9.34k|        phdri= (Elf32_Phdr       *)(e_phoff + file_image);  // do not free() !!
  324|  9.34k|    }
  325|  11.6k|    if (f && Elf32_Ehdr::ET_DYN==e_type) {
  ------------------
  |  Branch (325:9): [True: 11.6k, False: 0]
  |  Branch (325:14): [True: 2.26k, False: 9.34k]
  ------------------
  326|       |        // The DT_SYMTAB has no designated length.  Read the whole file.
  327|  2.26k|        alloc_file_image(file_image, file_size);
  328|  2.26k|        f->seek(0, SEEK_SET);
  329|  2.26k|        f->readx(file_image, file_size);
  330|  2.26k|        phdri= (Elf32_Phdr *)(e_phoff + file_image);  // do not free() !!
  331|  2.26k|        if (opt->cmd != CMD_COMPRESS || !e_shoff ||  file_size < e_shoff) {
  ------------------
  |  Branch (331:13): [True: 2.26k, False: 0]
  |  Branch (331:41): [True: 0, False: 0]
  |  Branch (331:54): [True: 0, False: 0]
  ------------------
  332|  2.26k|            shdri = nullptr;
  333|  2.26k|        }
  334|      0|        else {  // FIXME: copy from file_image ?
  335|      0|            fi->seek(e_shoff, SEEK_SET);
  336|      0|            if (mb_shdr.getSize() != sizeof(Elf32_Shdr) * e_shnum) {
  ------------------
  |  Branch (336:17): [True: 0, False: 0]
  ------------------
  337|      0|                mb_shdr.alloc(   sizeof(Elf32_Shdr) * e_shnum);
  338|      0|            }
  339|      0|            shdri = (Elf32_Shdr *)mb_shdr.getVoidPtr();
  340|      0|            fi->readx(shdri, sizeof(Elf32_Shdr) * e_shnum);
  341|      0|        }
  342|  2.26k|        sec_dynsym = elf_find_section_type(Elf32_Shdr::SHT_DYNSYM);
  343|  2.26k|        if (sec_dynsym) {
  ------------------
  |  Branch (343:13): [True: 0, False: 2.26k]
  ------------------
  344|      0|            unsigned t = get_te32(&sec_dynsym->sh_link);
  345|      0|            if (e_shnum <= t)
  ------------------
  |  Branch (345:17): [True: 0, False: 0]
  ------------------
  346|      0|                throwCantPack("bad dynsym->sh_link");
  347|      0|            sec_dynstr = &shdri[t];
  348|      0|        }
  349|       |
  350|  2.26k|        Elf32_Phdr const *phdr= phdri;
  351|  16.5k|        for (int j = e_phnum; --j>=0; ++phdr)
  ------------------
  |  Branch (351:31): [True: 14.3k, False: 2.26k]
  ------------------
  352|  14.3k|        if (Elf32_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (352:13): [True: 1.34k, False: 12.9k]
  ------------------
  353|  1.34k|            unsigned offset = check_pt_dynamic(phdr);
  354|  1.34k|            dynseg= (Elf32_Dyn *)(offset + file_image);
  355|  1.34k|            invert_pt_dynamic(dynseg,
  356|  1.34k|                umin(get_te32(&phdr->p_filesz), (unsigned)(file_size_u - offset)));
  357|  1.34k|        }
  358|  12.9k|        else if (is_LOAD(phdr)) {
  ------------------
  |  Branch (358:18): [True: 1.87k, False: 11.0k]
  ------------------
  359|  1.87k|            check_pt_load(phdr);
  360|  1.87k|        }
  361|       |        // elf_find_dynamic() returns 0 if 0==dynseg.
  362|  2.26k|        dynstr =          (char const *)elf_find_dynamic(Elf32_Dyn::DT_STRTAB);
  363|  2.26k|        dynsym = (Elf32_Sym /*const*/ *)elf_find_dynamic(Elf32_Dyn::DT_SYMTAB);
  364|  2.26k|        gashtab =     (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_GNU_HASH);
  365|  2.26k|        hashtab =     (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_HASH);
  366|  2.26k|        if (3& ((upx_uintptr_t)dynsym | (upx_uintptr_t)gashtab | (upx_uintptr_t)hashtab)) {
  ------------------
  |  Branch (366:13): [True: 8, False: 2.25k]
  ------------------
  367|      8|            throwCantPack("unaligned DT_SYMTAB, DT_GNU_HASH, or DT_HASH/n");
  368|      8|        }
  369|  2.25k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (369:13): [True: 0, False: 2.25k]
  ------------------
  370|      0|            jni_onload_sym = elf_lookup("JNI_OnLoad");
  371|      0|            if (jni_onload_sym) {
  ------------------
  |  Branch (371:17): [True: 0, False: 0]
  ------------------
  372|      0|                jni_onload_va = get_te32(&jni_onload_sym->st_value);
  373|      0|                jni_onload_va = 0;  // FIXME not understood; need example
  374|      0|            }
  375|      0|        }
  376|  2.25k|    }
  377|  11.6k|}
_ZN14PackLinuxElf3220elf_find_Phdr_for_vaEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEj:
  457|  4.14k|{
  458|  18.3k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (458:26): [True: 18.1k, False: 210]
  ------------------
  459|  18.1k|        u32_t align = get_te32(&phdr->p_align);
  460|  18.1k|        if (is_LOAD(phdr)
  ------------------
  |  Branch (460:13): [True: 5.62k, False: 12.5k]
  ------------------
  461|  5.62k|        && is_pow2(align) && !((-1+ align) &
  ------------------
  |  Branch (461:12): [True: 5.22k, False: 409]
  |  Branch (461:30): [True: 4.95k, False: 270]
  ------------------
  462|  5.22k|            (get_te32(&phdr->p_vaddr) ^ get_te32(&phdr->p_offset)))
  463|  4.95k|        &&  (addr - get_te32(&phdr->p_vaddr)) < get_te32(&phdr->p_filesz)) {
  ------------------
  |  Branch (463:13): [True: 3.93k, False: 1.02k]
  ------------------
  464|  3.93k|            return phdr;
  465|  3.93k|        }
  466|  18.1k|    }
  467|    210|    return nullptr;
  468|  4.14k|}
_ZN14PackLinuxElf6420elf_find_Phdr_for_vaEyPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEj:
  472|  4.09k|{
  473|  19.3k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (473:26): [True: 19.1k, False: 201]
  ------------------
  474|  19.1k|        u64_t align = get_te64(&phdr->p_align);
  475|  19.1k|        if (is_LOAD(phdr)
  ------------------
  |  Branch (475:13): [True: 5.67k, False: 13.4k]
  ------------------
  476|  5.67k|        && is_pow2(align) && !((-1+ align) &
  ------------------
  |  Branch (476:12): [True: 4.92k, False: 757]
  |  Branch (476:30): [True: 4.42k, False: 498]
  ------------------
  477|  4.92k|            (get_te64(&phdr->p_vaddr) ^ get_te64(&phdr->p_offset)))
  478|  4.42k|        &&  (addr - get_te64(&phdr->p_vaddr)) < get_te64(&phdr->p_filesz)) {
  ------------------
  |  Branch (478:13): [True: 3.89k, False: 531]
  ------------------
  479|  3.89k|            return phdr;
  480|  3.89k|        }
  481|  19.1k|    }
  482|    201|    return nullptr;
  483|  4.09k|}
_ZN14PackLinuxElf32C2EP9InputFile:
 1035|   103k|    : super(f), phdri(nullptr), shdri(nullptr),
 1036|   103k|    n_phdrx(0), sz_phdrx(0),
 1037|   103k|    page_mask(~0u<<lg2_page),
 1038|   103k|    dynseg(nullptr), hashtab(nullptr), hashend(nullptr),
 1039|   103k|                     gashtab(nullptr), gashend(nullptr), dynsym(nullptr),
 1040|   103k|    jni_onload_sym(nullptr),
 1041|   103k|    sec_strndx(nullptr), sec_dynsym(nullptr), sec_dynstr(nullptr)
 1042|   103k|    , sec_arm_attr(nullptr)
 1043|   103k|{
 1044|   103k|    memset(&ehdri, 0, sizeof(ehdri));
 1045|   103k|    n_jmp_slot = 0;
 1046|   103k|    if (f) {
  ------------------
  |  Branch (1046:9): [True: 103k, False: 0]
  ------------------
 1047|       |        f->seek(0, SEEK_SET);
 1048|   103k|        f->readx(&ehdri, sizeof(ehdri));
 1049|   103k|    }
 1050|   103k|}
_ZN14PackLinuxElf64C2EP9InputFile:
 1065|  46.9k|    : super(f), phdri(nullptr), shdri(nullptr),
 1066|  46.9k|    n_phdrx(0), sz_phdrx(0),
 1067|  46.9k|    page_mask(~0ull<<lg2_page),
 1068|  46.9k|    dynseg(nullptr), hashtab(nullptr), hashend(nullptr),
 1069|  46.9k|                     gashtab(nullptr), gashend(nullptr), dynsym(nullptr),
 1070|  46.9k|    jni_onload_sym(nullptr),
 1071|  46.9k|    sec_strndx(nullptr), sec_dynsym(nullptr), sec_dynstr(nullptr)
 1072|  46.9k|    , sec_arm_attr(nullptr)
 1073|  46.9k|{
 1074|  46.9k|    memset(&ehdri, 0, sizeof(ehdri));
 1075|  46.9k|    n_jmp_slot = 0;
 1076|  46.9k|    if (f) {
  ------------------
  |  Branch (1076:9): [True: 46.9k, False: 0]
  ------------------
 1077|       |        f->seek(0, SEEK_SET);
 1078|  46.9k|        f->readx(&ehdri, sizeof(ehdri));
 1079|  46.9k|    }
 1080|  46.9k|}
_ZN14PackLinuxElf6419PackLinuxElf64help1EP9InputFile:
 1097|  47.0k|{
 1098|  47.0k|    e_type  = get_te16(&ehdri.e_type);
 1099|  47.0k|    e_phnum = get_te16(&ehdri.e_phnum);
 1100|  47.0k|    e_shnum = get_te16(&ehdri.e_shnum);
 1101|  47.0k|    unsigned const e_phentsize = get_te16(&ehdri.e_phentsize);
 1102|  47.0k|    if (memcmp((char const *)&ehdri, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (1102:9): [True: 26.7k, False: 20.3k]
  ------------------
 1103|  20.3k|    || ehdri.e_ident[Elf64_Ehdr::EI_CLASS]!=Elf64_Ehdr::ELFCLASS64
  ------------------
  |  Branch (1103:8): [True: 10.6k, False: 9.71k]
  ------------------
 1104|  9.71k|    || sizeof(Elf64_Phdr) != e_phentsize
  ------------------
  |  Branch (1104:8): [True: 5.30k, False: 4.40k]
  ------------------
 1105|  4.40k|    || (Elf64_Ehdr::ELFDATA2MSB == ehdri.e_ident[Elf64_Ehdr::EI_DATA]
  ------------------
  |  Branch (1105:9): [True: 617, False: 3.78k]
  ------------------
 1106|    617|            && &N_BELE_RTP::be_policy != bele)
  ------------------
  |  Branch (1106:16): [True: 4, False: 613]
  ------------------
 1107|  4.39k|    || (Elf64_Ehdr::ELFDATA2LSB == ehdri.e_ident[Elf64_Ehdr::EI_DATA]
  ------------------
  |  Branch (1107:9): [True: 3.31k, False: 1.08k]
  ------------------
 1108|  42.6k|            && &N_BELE_RTP::le_policy != bele)) {
  ------------------
  |  Branch (1108:16): [True: 4, False: 3.31k]
  ------------------
 1109|  42.6k|        e_phoff = 0;
 1110|  42.6k|        e_shoff = 0;
 1111|  42.6k|        sz_phdrs = 0;
 1112|  42.6k|        return;
 1113|  42.6k|    }
 1114|  4.39k|    if (0==e_phnum) throwCantUnpack("0==e_phnum");
  ------------------
  |  Branch (1114:9): [True: 1, False: 4.39k]
  ------------------
 1115|  4.39k|    e_phoff = get_te64(&ehdri.e_phoff);
 1116|  4.39k|    upx_uint64_t const last_Phdr = e_phoff + e_phnum * sizeof(Elf64_Phdr);
 1117|  4.39k|    if (last_Phdr < e_phoff  // wrap-around
  ------------------
  |  Branch (1117:9): [True: 11, False: 4.38k]
  ------------------
 1118|  4.38k|    ||  e_phoff != sizeof(Elf64_Ehdr)  // must be contiguous
  ------------------
  |  Branch (1118:9): [True: 91, False: 4.29k]
  ------------------
 1119|  4.29k|    ||  (unsigned long)file_size < last_Phdr) {
  ------------------
  |  Branch (1119:9): [True: 8, False: 4.28k]
  ------------------
 1120|    110|        throwCantUnpack("bad e_phoff %p", (void *)e_phoff);
 1121|    110|    }
 1122|  4.28k|    e_shoff = get_te64(&ehdri.e_shoff);
 1123|  4.28k|    upx_uint64_t const last_Shdr = e_shoff + e_shnum * sizeof(Elf64_Shdr);
 1124|  4.28k|    if (last_Shdr < e_shoff  // wrap-around
  ------------------
  |  Branch (1124:9): [True: 59, False: 4.22k]
  ------------------
 1125|  4.22k|    ||  (e_shnum && e_shoff < last_Phdr)
  ------------------
  |  Branch (1125:10): [True: 2.62k, False: 1.60k]
  |  Branch (1125:21): [True: 74, False: 2.54k]
  ------------------
 1126|  4.15k|    ||  (unsigned long)file_size < last_Shdr) {
  ------------------
  |  Branch (1126:9): [True: 3.47k, False: 680]
  ------------------
 1127|  3.60k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (1127:13): [True: 0, False: 3.60k]
  ------------------
 1128|      0|            throwCantUnpack("bad e_shoff %p", (void *)e_shoff);
 1129|      0|        }
 1130|  3.60k|    }
 1131|  4.28k|    sz_phdrs = e_phnum * e_phentsize;
 1132|  4.28k|    sz_elf_hdrs = sz_phdrs + sizeof(Elf64_Ehdr) +
 1133|  4.28k|        n_phdrx * sizeof(Elf32_Phdr);  // phdrx bodies later: ::generateElfHdr
 1134|       |
 1135|  4.28k|    if (f && Elf64_Ehdr::ET_DYN!=e_type) {
  ------------------
  |  Branch (1135:9): [True: 4.28k, False: 0]
  |  Branch (1135:14): [True: 2.16k, False: 2.12k]
  ------------------
 1136|  2.16k|        unsigned const len = file_size;  // (sz_phdrs + e_phoff) except --preserve-build-id
 1137|  2.16k|        alloc_file_image(file_image, len);
 1138|  2.16k|        f->seek(0, SEEK_SET);
 1139|  2.16k|        f->readx(file_image, len);
 1140|  2.16k|        phdri= (Elf64_Phdr       *)(e_phoff + file_image);  // do not free() !!
 1141|  2.16k|    }
 1142|  4.28k|    if (f && Elf64_Ehdr::ET_DYN==e_type) {
  ------------------
  |  Branch (1142:9): [True: 4.28k, False: 0]
  |  Branch (1142:14): [True: 2.12k, False: 2.16k]
  ------------------
 1143|       |        // The DT_SYMTAB has no designated length.  Read the whole file.
 1144|  2.12k|        alloc_file_image(file_image, file_size);
 1145|  2.12k|        f->seek(0, SEEK_SET);
 1146|  2.12k|        f->readx(file_image, file_size);
 1147|  2.12k|        phdri= (file_size <= (unsigned)e_phoff) ? nullptr : (Elf64_Phdr *)(e_phoff + file_image);  // do not free() !!
  ------------------
  |  Branch (1147:16): [True: 0, False: 2.12k]
  ------------------
 1148|  2.12k|        if (!(opt->cmd == CMD_COMPRESS && e_shoff < (upx_uint64_t)file_size && mb_shdr.getSize() == 0)) {
  ------------------
  |  Branch (1148:15): [True: 0, False: 2.12k]
  |  Branch (1148:43): [True: 0, False: 0]
  |  Branch (1148:80): [True: 0, False: 0]
  ------------------
 1149|  2.12k|            shdri = nullptr;
 1150|  2.12k|        }
 1151|      0|        else if (e_shnum && e_shoff && ehdri.e_shentsize) {
  ------------------
  |  Branch (1151:18): [True: 0, False: 0]
  |  Branch (1151:29): [True: 0, False: 0]
  |  Branch (1151:40): [True: 0, False: 0]
  ------------------
 1152|      0|            fi->seek(e_shoff, SEEK_SET);
 1153|      0|            mb_shdr.alloc(   sizeof(Elf64_Shdr) * e_shnum);
 1154|      0|            shdri = (Elf64_Shdr *)mb_shdr.getVoidPtr();
 1155|      0|            fi->readx(shdri, sizeof(Elf64_Shdr) * e_shnum);
 1156|      0|        }
 1157|      0|        else {
 1158|      0|            shdri = nullptr;
 1159|      0|        }
 1160|  2.12k|        sec_dynsym = elf_find_section_type(Elf64_Shdr::SHT_DYNSYM);
 1161|  2.12k|        if (sec_dynsym) {
  ------------------
  |  Branch (1161:13): [True: 0, False: 2.12k]
  ------------------
 1162|      0|            unsigned t = get_te32(&sec_dynsym->sh_link);
 1163|      0|            if (e_shnum <= t)
  ------------------
  |  Branch (1163:17): [True: 0, False: 0]
  ------------------
 1164|      0|                throwCantPack("bad dynsym->sh_link");
 1165|      0|            sec_dynstr = &shdri[t];
 1166|      0|        }
 1167|       |
 1168|  2.12k|        Elf64_Phdr const *phdr= phdri;
 1169|  16.0k|        for (int j = e_phnum; --j>=0; ++phdr)
  ------------------
  |  Branch (1169:31): [True: 13.9k, False: 2.12k]
  ------------------
 1170|  13.9k|        if (Elf64_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (1170:13): [True: 1.79k, False: 12.1k]
  ------------------
 1171|  1.79k|            upx_uint64_t offset = check_pt_dynamic(phdr);
 1172|  1.79k|            dynseg= (Elf64_Dyn *)(offset + file_image);
 1173|  1.79k|            invert_pt_dynamic(dynseg,
 1174|  1.79k|                umin(get_te64(&phdr->p_filesz), file_size_u - offset));
 1175|  1.79k|        }
 1176|  12.1k|        else if (is_LOAD(phdr)) {
  ------------------
  |  Branch (1176:18): [True: 1.35k, False: 10.8k]
  ------------------
 1177|  1.35k|            check_pt_load(phdr);
 1178|  1.35k|        }
 1179|       |        // elf_find_dynamic() returns 0 if 0==dynseg.
 1180|  2.12k|        dynstr =          (char const *)elf_find_dynamic(Elf64_Dyn::DT_STRTAB);
 1181|  2.12k|        dynsym = (Elf64_Sym /*const*/ *)elf_find_dynamic(Elf64_Dyn::DT_SYMTAB);
 1182|  2.12k|        gashtab =     (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_GNU_HASH);
 1183|  2.12k|        hashtab =     (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_HASH);
 1184|  2.12k|        if (3& ((upx_uintptr_t)dynsym | (upx_uintptr_t)gashtab | (upx_uintptr_t)hashtab)) {
  ------------------
  |  Branch (1184:13): [True: 7, False: 2.11k]
  ------------------
 1185|      7|            throwCantPack("unaligned DT_SYMTAB, DT_GNU_HASH, or DT_HASH/n");
 1186|      7|        }
 1187|  2.11k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (1187:13): [True: 0, False: 2.11k]
  ------------------
 1188|      0|            jni_onload_sym = elf_lookup("JNI_OnLoad");
 1189|      0|            if (jni_onload_sym) {
  ------------------
  |  Branch (1189:17): [True: 0, False: 0]
  ------------------
 1190|      0|                jni_onload_va = get_te64(&jni_onload_sym->st_value);
 1191|      0|                jni_onload_va = 0;  // FIXME not understood; need example
 1192|      0|            }
 1193|      0|        }
 1194|  2.11k|    }
 1195|  4.28k|}
_ZN17PackLinuxElf32ppcC2EP9InputFile:
 1342|  8.93k|    : super(f)
 1343|  8.93k|{
 1344|  8.93k|    e_machine = Elf32_Ehdr::EM_PPC;
 1345|  8.93k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 1346|  8.93k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 1347|  8.93k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1348|  8.93k|}
_ZN17PackLinuxElf32ppcD2Ev:
 1351|  8.93k|{
 1352|  8.93k|}
_ZN19PackLinuxElf64ppcleC2EP9InputFile:
 1360|  7.62k|    : super(f), lg2_page(16), page_size(1u<<lg2_page)
 1361|  7.62k|{
 1362|  7.62k|    e_machine = Elf64_Ehdr::EM_PPC64;
 1363|  7.62k|    ei_class  = Elf64_Ehdr::ELFCLASS64;
 1364|  7.62k|    ei_data   = Elf64_Ehdr::ELFDATA2LSB;
 1365|  7.62k|    ei_osabi  = Elf64_Ehdr::ELFOSABI_LINUX;
 1366|  7.62k|}
_ZN17PackLinuxElf64ppcC2EP9InputFile:
 1369|  8.11k|    : super(f), lg2_page(16), page_size(1u<<lg2_page)
 1370|  8.11k|{
 1371|  8.11k|    e_machine = Elf64_Ehdr::EM_PPC64;
 1372|  8.11k|    ei_class  = Elf64_Ehdr::ELFCLASS64;
 1373|  8.11k|    ei_data   = Elf64_Ehdr::ELFDATA2MSB;
 1374|  8.11k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1375|  8.11k|}
_ZN19PackLinuxElf64ppcleD2Ev:
 1378|  7.62k|{
 1379|  7.62k|}
_ZN17PackLinuxElf64ppcD2Ev:
 1382|  7.64k|{
 1383|  7.64k|}
_ZN17PackLinuxElf64amdC2EP9InputFile:
 1396|  13.1k|    : super(f)
 1397|  13.1k|{
 1398|       |    // Why did PackLinuxElf64Le set lg2_page = 16 ?
 1399|       |    // It causes trouble for check_pt_dynamic() from canPack().
 1400|  13.1k|    lg2_page = 12;  page_size = 1u<<lg2_page;
 1401|  13.1k|    e_machine = Elf64_Ehdr::EM_X86_64;
 1402|  13.1k|    ei_class = Elf64_Ehdr::ELFCLASS64;
 1403|  13.1k|    ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1404|  13.1k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1405|  13.1k|}
_ZN17PackLinuxElf64armC2EP9InputFile:
 1408|  9.01k|     : super(f)
 1409|  9.01k| {
 1410|  9.01k|    e_machine = Elf64_Ehdr::EM_AARCH64;
 1411|  9.01k|     ei_class = Elf64_Ehdr::ELFCLASS64;
 1412|  9.01k|     ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1413|  9.01k|     ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1414|  9.01k| }
_ZN21PackLinuxElf64riscv64C2EP9InputFile:
 1417|  8.95k|    : super(f)
 1418|  8.95k|{
 1419|  8.95k|    e_machine = Elf64_Ehdr::EM_RISCV;
 1420|  8.95k|    ei_class = Elf64_Ehdr::ELFCLASS64;
 1421|  8.95k|    ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1422|  8.95k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1423|  8.95k|}
_ZN17PackLinuxElf64amdD2Ev:
 1426|  12.0k|{
 1427|  12.0k|}
_ZN17PackLinuxElf64armD2Ev:
 1430|  9.01k|{
 1431|  9.01k|}
_ZN21PackLinuxElf64riscv64D2Ev:
 1434|  8.95k|{
 1435|  8.95k|}
_ZN14PackLinuxElf3217sort_DT32_offsetsEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEE:
 2344|  1.14k|{
 2345|  1.14k|    mb_dt_offsets.alloc(sizeof(unsigned) * sizeof(dt_keys)/sizeof(dt_keys[0]));
 2346|  1.14k|    mb_dt_offsets.clear();
 2347|  1.14k|    dt_offsets = (unsigned *)mb_dt_offsets.getVoidPtr();
 2348|  1.14k|    unsigned n_off = 0, k;
 2349|  14.1k|    for (unsigned j=0; ((k = dt_keys[j]),  k); ++j) {
  ------------------
  |  Branch (2349:24): [True: 13.1k, False: 1.03k]
  ------------------
 2350|  13.1k|        dt_offsets[n_off] = 0;  // default to "not found"
 2351|  13.1k|        u32_t rva = 0;
 2352|  13.1k|        if (k < DT_NUM) { // in range of easy table
  ------------------
  |  Branch (2352:13): [True: 8.65k, False: 4.45k]
  ------------------
 2353|  8.65k|            if (!dt_table[k]) {
  ------------------
  |  Branch (2353:17): [True: 5.98k, False: 2.67k]
  ------------------
 2354|  5.98k|                continue;  // not present in input
 2355|  5.98k|            }
 2356|  2.67k|            rva = get_te32(&dynp0[-1+ dt_table[k]].d_val);
 2357|  2.67k|        }
 2358|  4.45k|        else if (file_image) { // why is this guard necessary?
  ------------------
  |  Branch (2358:18): [True: 4.45k, False: 0]
  ------------------
 2359|  4.45k|            rva = elf_unsigned_dynamic(k);  // zero if not found
 2360|  4.45k|        }
 2361|  7.12k|        if (!rva) {
  ------------------
  |  Branch (2361:13): [True: 4.28k, False: 2.84k]
  ------------------
 2362|  4.28k|            continue;  // not present in input
 2363|  4.28k|        }
 2364|  2.84k|        Elf32_Phdr const *phdr = elf_find_Phdr_for_va(rva, phdri, e_phnum);
 2365|  2.84k|        if (!phdr) {
  ------------------
  |  Branch (2365:13): [True: 90, False: 2.75k]
  ------------------
 2366|     90|            char msg[60]; snprintf(msg, sizeof(msg), "bad  DT_{%#x} = %#x (no Phdr)",
  ------------------
  |  |   75|     90|#define snprintf  upx_safe_snprintf
  ------------------
 2367|     90|                k, rva);
 2368|     90|            throwCantPack(msg);
 2369|     90|        }
 2370|  2.75k|        dt_offsets[n_off] = (rva - get_te32(&phdr->p_vaddr)) + get_te32(&phdr->p_offset);
 2371|       |
 2372|  2.75k|        if (file_size <= dt_offsets[n_off]) {
  ------------------
  |  Branch (2372:13): [True: 23, False: 2.73k]
  ------------------
 2373|     23|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#x (beyond EOF)",
  ------------------
  |  |   75|     23|#define snprintf  upx_safe_snprintf
  ------------------
 2374|     23|                k, dt_offsets[n_off]);
 2375|     23|                throwCantPack(msg);
 2376|     23|        }
 2377|  2.73k|        n_off += !!dt_offsets[n_off];
 2378|  2.73k|    }
 2379|  1.03k|    dt_offsets[n_off++] = file_size;  // sentinel
 2380|  1.03k|    upx_qsort(dt_offsets, n_off, sizeof(dt_offsets[0]), qcmp_unsigned);
  ------------------
  |  |  237|  1.03k|#define upx_qsort ::qsort
  ------------------
 2381|  1.03k|}
_ZN14PackLinuxElf3211find_dt_ndxEj:
 2384|  1.17k|{
 2385|  1.17k|    unsigned *const dto = (unsigned *)mb_dt_offsets.getVoidPtr();
 2386|  1.17k|    unsigned const dto_size = mb_dt_offsets.getSize() / sizeof(*dto);
 2387|  2.88k|    for (unsigned j = 0; j < dto_size && dto[j]; ++j) { // linear search of short table
  ------------------
  |  Branch (2387:26): [True: 2.88k, False: 0]
  |  Branch (2387:42): [True: 2.74k, False: 136]
  ------------------
 2388|  2.74k|        if (rva == dto[j]) {
  ------------------
  |  Branch (2388:13): [True: 1.04k, False: 1.70k]
  ------------------
 2389|  1.04k|            return j;
 2390|  1.04k|        }
 2391|  2.74k|    }
 2392|    136|    return ~0u;
 2393|  1.17k|}
_ZN14PackLinuxElf3219elf_find_table_sizeEjj:
 2396|  1.62k|{
 2397|  1.62k|    Elf32_Shdr const *sec = elf_find_section_type(sh_type);
 2398|  1.62k|    if (sec) { // Cheat the easy way: use _Shdr.  (No _Shdr anyway for de-compression)
  ------------------
  |  Branch (2398:9): [True: 0, False: 1.62k]
  ------------------
 2399|      0|        return get_te32(&sec->sh_size);
 2400|      0|    }
 2401|       |    // Honest hard work: use _Phdr
 2402|  1.62k|    unsigned x_rva;
 2403|  1.62k|    if (dt_type < DT_NUM) {
  ------------------
  |  Branch (2403:9): [True: 1.24k, False: 379]
  ------------------
 2404|  1.24k|        unsigned const x_ndx = dt_table[dt_type];
 2405|  1.24k|        if (!x_ndx) { // no such entry
  ------------------
  |  Branch (2405:13): [True: 324, False: 917]
  ------------------
 2406|    324|            return 0;
 2407|    324|        }
 2408|    917|        x_rva = get_te32(&dynseg[-1+ x_ndx].d_val);
 2409|    917|    }
 2410|    379|    else {
 2411|    379|        x_rva = elf_unsigned_dynamic(dt_type);
 2412|    379|    }
 2413|  1.29k|    Elf32_Phdr const *const x_phdr = elf_find_Phdr_for_va(x_rva, phdri, e_phnum);
 2414|  1.29k|    if (!x_phdr)
  ------------------
  |  Branch (2414:9): [True: 120, False: 1.17k]
  ------------------
 2415|    120|        return ~0u;  // corrupted Phdrs?
 2416|  1.17k|    unsigned const           d_off =             x_rva - get_te32(&x_phdr->p_vaddr);
 2417|  1.17k|    unsigned const           y_ndx = find_dt_ndx(d_off + get_te32(&x_phdr->p_offset));
 2418|  1.17k|    if (~0u != y_ndx) {
  ------------------
  |  Branch (2418:9): [True: 1.04k, False: 136]
  ------------------
 2419|  1.04k|        return dt_offsets[1+ y_ndx] - dt_offsets[y_ndx];
 2420|  1.04k|    }
 2421|    136|    return ~0u;
 2422|  1.17k|}
_ZN14PackLinuxElf3217invert_pt_dynamicEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEEj:
 2426|  1.24k|{
 2427|  1.24k|    if (dt_table[Elf32_Dyn::DT_NULL]) {
  ------------------
  |  Branch (2427:9): [True: 67, False: 1.18k]
  ------------------
 2428|     67|        return;  // not 1st time; do not change upx_dt_init
 2429|     67|    }
 2430|  1.18k|    Elf32_Dyn const *const dynp0 = dynp;
 2431|  1.18k|    unsigned ndx = 0;
 2432|  1.18k|    unsigned const limit = headway / sizeof(*dynp);
 2433|  1.18k|    if (dynp)
  ------------------
  |  Branch (2433:9): [True: 1.18k, False: 0]
  ------------------
 2434|  23.2k|    for (; ; ++ndx, ++dynp) {
 2435|  23.2k|        if (limit <= ndx) {
  ------------------
  |  Branch (2435:13): [True: 22, False: 23.2k]
  ------------------
 2436|     22|            throwCantPack("DT_NULL not found");
 2437|     22|        }
 2438|  23.2k|        u32_t const d_tag = get_te32(&dynp->d_tag);
 2439|  23.2k|        if (d_tag < DT_NUM) {
  ------------------
  |  Branch (2439:13): [True: 7.79k, False: 15.4k]
  ------------------
 2440|  7.79k|            if (Elf32_Dyn::DT_NEEDED != d_tag
  ------------------
  |  Branch (2440:17): [True: 7.13k, False: 662]
  ------------------
 2441|  7.13k|            &&  dt_table[d_tag]
  ------------------
  |  Branch (2441:17): [True: 118, False: 7.01k]
  ------------------
 2442|    118|            &&    get_te32(&dynp->d_val)
  ------------------
  |  Branch (2442:19): [True: 11, False: 107]
  ------------------
 2443|    118|               != get_te32(&dynp0[-1+ dt_table[d_tag]].d_val)) {
 2444|     11|                throwCantPack("duplicate DT_%#x: [%#x] [%#x]",
 2445|     11|                    (unsigned)d_tag, -1+ dt_table[d_tag], ndx);
 2446|     11|            }
 2447|  7.78k|            dt_table[d_tag] = 1+ ndx;
 2448|  7.78k|        }
 2449|  23.1k|        if (Elf32_Dyn::DT_NULL == d_tag) {
  ------------------
  |  Branch (2449:13): [True: 1.14k, False: 22.0k]
  ------------------
 2450|  1.14k|            break;  // check here so that dt_table[DT_NULL] is set
 2451|  1.14k|        }
 2452|  23.1k|    }
 2453|  1.14k|    sort_DT32_offsets(dynp0);
 2454|       |
 2455|  1.14k|    upx_dt_init = 0;
 2456|  1.14k|         if (dt_table[Elf32_Dyn::DT_INIT])          upx_dt_init = Elf32_Dyn::DT_INIT;
  ------------------
  |  Branch (2456:14): [True: 101, False: 1.04k]
  ------------------
 2457|  1.04k|    else if (dt_table[Elf32_Dyn::DT_PREINIT_ARRAY]) upx_dt_init = Elf32_Dyn::DT_PREINIT_ARRAY;
  ------------------
  |  Branch (2457:14): [True: 15, False: 1.03k]
  ------------------
 2458|  1.03k|    else if (dt_table[Elf32_Dyn::DT_INIT_ARRAY])    upx_dt_init = Elf32_Dyn::DT_INIT_ARRAY;
  ------------------
  |  Branch (2458:14): [True: 65, False: 968]
  ------------------
 2459|       |
 2460|  1.14k|    unsigned const z_str = dt_table[Elf32_Dyn::DT_STRSZ];
 2461|  1.14k|    strtab_max = !z_str ? 0 : get_te32(&dynp0[-1+ z_str].d_val);
  ------------------
  |  Branch (2461:18): [True: 60, False: 1.08k]
  ------------------
 2462|  1.14k|    unsigned const z_tab = dt_table[Elf32_Dyn::DT_STRTAB];
 2463|  1.14k|    unsigned const tmp1 = !z_tab ? 0 : get_te32(&dynp0[-1+ z_tab].d_val);
  ------------------
  |  Branch (2463:27): [True: 27, False: 1.12k]
  ------------------
 2464|  1.14k|    if (tmp1 < sz_elf_hdrs) {
  ------------------
  |  Branch (2464:9): [True: 42, False: 1.10k]
  ------------------
 2465|     42|        throwCantPack("bad DT_STRTAB %#x", tmp1);
 2466|     42|    }
 2467|  1.10k|    unsigned const strtab_beg = !z_tab ? 0 : elf_get_offset_from_address(tmp1);
  ------------------
  |  Branch (2467:33): [True: 0, False: 1.10k]
  ------------------
 2468|       |
 2469|  1.10k|    if (!z_str || !z_tab || !(strtab_max + strtab_beg)
  ------------------
  |  Branch (2469:9): [True: 131, False: 976]
  |  Branch (2469:19): [True: 0, False: 976]
  |  Branch (2469:29): [True: 1, False: 975]
  ------------------
 2470|    975|    || (this->file_size - strtab_beg) < strtab_max  // strtab overlaps EOF
  ------------------
  |  Branch (2470:8): [True: 60, False: 915]
  ------------------
 2471|       |        // last string in table must have terminating NUL
 2472|    915|    ||  '\0' != ((char *)file_image.getVoidPtr())[-1+ strtab_max + strtab_beg]
  ------------------
  |  Branch (2472:9): [True: 12, False: 903]
  ------------------
 2473|  1.10k|    ) {
 2474|     81|        throwCantPack("bad DT_STRSZ %#x", strtab_max);
 2475|     81|    }
 2476|       |
 2477|  1.02k|    { // Find end of DT_SYMTAB
 2478|  1.02k|        unsigned const tmp2 = elf_find_table_size(Elf32_Dyn::DT_SYMTAB,
 2479|  1.02k|            Elf32_Shdr::SHT_DYNSYM);
 2480|  1.02k|        symnum_max = (~0u == tmp2) ? 0 : tmp2 / sizeof(Elf32_Sym);
  ------------------
  |  Branch (2480:22): [True: 171, False: 855]
  ------------------
 2481|  1.02k|    }
 2482|       |
 2483|  1.02k|    unsigned v_sym = dt_table[Elf32_Dyn::DT_SYMTAB];
 2484|  1.02k|    if (v_sym) {
  ------------------
  |  Branch (2484:9): [True: 579, False: 447]
  ------------------
 2485|    579|        v_sym = elf_get_offset_from_address(get_te32(&dynp0[-1+ v_sym].d_val));
 2486|    579|    }
 2487|  1.02k|    unsigned v_hsh = dt_table[Elf32_Dyn::DT_HASH];
 2488|  1.02k|    if (v_hsh) {
  ------------------
  |  Branch (2488:9): [True: 440, False: 586]
  ------------------
 2489|    440|        v_hsh = elf_get_offset_from_address(get_te32(&dynp0[-1+ v_hsh].d_val));
 2490|    440|    }
 2491|  1.02k|    if (v_hsh && file_image) {
  ------------------
  |  Branch (2491:9): [True: 395, False: 631]
  |  Branch (2491:18): [True: 395, False: 0]
  ------------------
 2492|    395|        hashtab = (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_HASH);
 2493|    395|        if (!hashtab) {
  ------------------
  |  Branch (2493:13): [True: 57, False: 338]
  ------------------
 2494|     57|            throwCantPack("bad DT_HASH %#x", v_hsh);
 2495|     57|        }
 2496|       |        // Find end of DT_HASH
 2497|    338|        hashend = (unsigned const *)(void const *)(elf_find_table_size(
 2498|    338|            Elf32_Dyn::DT_HASH, Elf32_Shdr::SHT_HASH) + (char const *)hashtab);
 2499|    338|        if (!hashtab || (char const *)hashend <= (char const *)&hashtab[2]
  ------------------
  |  Branch (2499:13): [True: 0, False: 338]
  |  Branch (2499:25): [True: 3, False: 335]
  ------------------
 2500|    335|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (2500:13): [True: 1, False: 334]
  ------------------
 2501|    335|            < (unsigned)((char const *)&hashtab[2] - (char *)&file_image[0]) )
 2502|      4|        {
 2503|      4|            throwCantPack("bad DT_HASH %#x", v_hsh);
 2504|      4|        }
 2505|       |
 2506|    334|        unsigned const nbucket = get_te32(&hashtab[0]);
 2507|    334|        unsigned const *const buckets = &hashtab[2];
 2508|    334|        unsigned const *const chains = &buckets[nbucket]; (void)chains;
 2509|    334|        if ((unsigned)(file_size - ((char const *)buckets - (char const *)(void const *)file_image))
  ------------------
  |  Branch (2509:13): [True: 31, False: 303]
  ------------------
 2510|    334|                <= sizeof(unsigned)*nbucket ) {
 2511|     31|            throwCantPack("bad nbucket %#x\n", nbucket);
 2512|     31|        }
 2513|       |
 2514|    303|        if ((unsigned)(hashend - buckets) < nbucket
  ------------------
  |  Branch (2514:13): [True: 15, False: 288]
  ------------------
 2515|    288|        || !v_sym || (unsigned)file_size <= v_sym
  ------------------
  |  Branch (2515:12): [True: 4, False: 284]
  |  Branch (2515:22): [True: 2, False: 282]
  ------------------
 2516|    282|        || ((v_hsh < v_sym) && (v_sym - v_hsh) < sizeof(*buckets)*(2+ nbucket))
  ------------------
  |  Branch (2516:13): [True: 188, False: 94]
  |  Branch (2516:32): [True: 22, False: 166]
  ------------------
 2517|    303|        ) {
 2518|     43|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 2519|     43|                nbucket, (v_sym - v_hsh));
 2520|     43|        }
 2521|    260|        unsigned chmax = 0;
 2522|   591k|        for (unsigned j= 0; j < nbucket; ++j) {
  ------------------
  |  Branch (2522:29): [True: 591k, False: 260]
  ------------------
 2523|   591k|            unsigned x = get_te32(&buckets[j]);
 2524|   591k|            if (chmax < x) {
  ------------------
  |  Branch (2524:17): [True: 857, False: 590k]
  ------------------
 2525|    857|                chmax = x;
 2526|    857|            }
 2527|   591k|        }
 2528|    260|        if ((v_hsh < v_sym) && (v_sym - v_hsh) <
  ------------------
  |  Branch (2528:13): [True: 166, False: 94]
  |  Branch (2528:32): [True: 14, False: 152]
  ------------------
 2529|    166|                (sizeof(*buckets)*(2+ nbucket) + sizeof(*chains)*(1+ chmax))) {
 2530|     14|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 2531|     14|                nbucket, (v_sym - v_hsh));
 2532|     14|        }
 2533|    260|    }
 2534|    877|    unsigned const v_gsh = elf_unsigned_dynamic(Elf32_Dyn::DT_GNU_HASH);
 2535|    877|    if (v_gsh && file_image) {
  ------------------
  |  Branch (2535:9): [True: 379, False: 498]
  |  Branch (2535:18): [True: 379, False: 0]
  ------------------
 2536|       |        // Not similar to DT_HASH because DT_GNU_HASH is not small (0x6ffffef5).
 2537|    379|        gashtab = (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_GNU_HASH);
 2538|    379|        gashend = (unsigned const *)(void const *)(elf_find_table_size(
 2539|    379|            Elf32_Dyn::DT_GNU_HASH, Elf32_Shdr::SHT_GNU_HASH) + (char const *)gashtab);
 2540|    379|        if (!gashtab || (char const *)gashend <= (char const *)&gashtab[4]
  ------------------
  |  Branch (2540:13): [True: 1, False: 378]
  |  Branch (2540:25): [True: 4, False: 374]
  ------------------
 2541|    374|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (2541:13): [True: 0, False: 374]
  ------------------
 2542|    374|            < (unsigned)((char const *)&gashtab[4] - (char *)&file_image[0]) )
 2543|      5|        {
 2544|      5|            throwCantPack("bad DT_GNU_HASH %#x", v_gsh);
 2545|      5|        }
 2546|       |
 2547|    374|        unsigned const n_bucket = get_te32(&gashtab[0]);
 2548|    374|        unsigned const symbias  = get_te32(&gashtab[1]);
 2549|    374|        unsigned const n_bitmask = get_te32(&gashtab[2]);
 2550|    374|        unsigned const gnu_shift = get_te32(&gashtab[3]);
 2551|    374|        u32_t const *const bitmask = (u32_t const *)(void const *)&gashtab[4];
 2552|    374|        unsigned     const *const buckets = (unsigned const *)&bitmask[n_bitmask];
 2553|    374|        unsigned     const *const hasharr = &buckets[n_bucket]; (void)hasharr;
 2554|    374|        if (!n_bucket || (1u<<31) <= n_bucket  /* fie on fuzzers */
  ------------------
  |  Branch (2554:13): [True: 3, False: 371]
  |  Branch (2554:26): [True: 40, False: 331]
  ------------------
 2555|    331|        || (unsigned)(gashend - buckets) < n_bucket
  ------------------
  |  Branch (2555:12): [True: 14, False: 317]
  ------------------
 2556|    317|        || (file_size + file_image) <= (void const *)hasharr) {
  ------------------
  |  Branch (2556:12): [True: 42, False: 275]
  ------------------
 2557|     99|            throwCantPack("bad n_bucket %#x\n", n_bucket);
 2558|     99|        }
 2559|       |        // It would be better to detect zeroes shifted into low 5 bits of:
 2560|       |        //    (037 & (hash_32 >> gnu_shift))
 2561|       |        // but compilers can be stupid.
 2562|    275|        if (31 < gnu_shift) {
  ------------------
  |  Branch (2562:13): [True: 2, False: 273]
  ------------------
 2563|      2|            throwCantPack("bad gnu_shift %#x", gnu_shift);
 2564|      2|        }
 2565|       |        // unsigned const *const gashend = &hasharr[n_bucket];
 2566|       |        // minimum, except:
 2567|       |        // Rust and Android trim unused zeroes from high end of hasharr[]
 2568|    273|        unsigned bmax = 0;
 2569|  8.71k|        for (unsigned j= 0; j < n_bucket; ++j) {
  ------------------
  |  Branch (2569:29): [True: 8.44k, False: 268]
  ------------------
 2570|  8.44k|            unsigned bj = get_te32(&buckets[j]);
 2571|  8.44k|            if (bj) {
  ------------------
  |  Branch (2571:17): [True: 6.25k, False: 2.19k]
  ------------------
 2572|  6.25k|                if (bj < symbias) {
  ------------------
  |  Branch (2572:21): [True: 5, False: 6.24k]
  ------------------
 2573|      5|                    throwCantPack("bad DT_GNU_HASH bucket[%d] < symbias{%#x}\n",
 2574|      5|                        bj, symbias);
 2575|      5|                }
 2576|  6.24k|                if (bmax < bj) {
  ------------------
  |  Branch (2576:21): [True: 760, False: 5.48k]
  ------------------
 2577|    760|                    bmax = bj;
 2578|    760|                }
 2579|  6.24k|            }
 2580|  8.44k|        }
 2581|    268|        if (1==n_bucket  && 0==buckets[0]
  ------------------
  |  Branch (2581:13): [True: 117, False: 151]
  |  Branch (2581:29): [True: 55, False: 62]
  ------------------
 2582|     55|        &&  1==n_bitmask && 0==bitmask[0]) {
  ------------------
  |  Branch (2582:13): [True: 39, False: 16]
  |  Branch (2582:29): [True: 18, False: 21]
  ------------------
 2583|       |            // 2021-09-11 Rust on RaspberryPi apparently uses this to minimize space.
 2584|       |            // But then the DT_GNU_HASH symbol lookup algorithm always fails?
 2585|       |            // https://github.com/upx/upx/issues/525
 2586|     18|        } else
 2587|    250|        if (bmax) {
  ------------------
  |  Branch (2587:13): [True: 207, False: 43]
  ------------------
 2588|    207|            if ((1+ bmax) < symbias) {
  ------------------
  |  Branch (2588:17): [True: 6, False: 201]
  ------------------
 2589|      6|                throwCantPack("bad DT_GNU_HASH (1+ max_bucket)=%#x < symbias=%#x",
 2590|      6|                    1+ bmax, symbias);
 2591|      6|            }
 2592|    201|            bmax -= symbias;
 2593|    201|        }
 2594|       |
 2595|    262|        unsigned r = 0;
 2596|    262|        if (!n_bucket || !n_bitmask || !v_sym
  ------------------
  |  Branch (2596:13): [True: 0, False: 262]
  |  Branch (2596:26): [True: 20, False: 242]
  |  Branch (2596:40): [True: 46, False: 196]
  ------------------
 2597|    196|        || (r=1, ((-1+ n_bitmask) & n_bitmask))  // not a power of 2
  ------------------
  |  Branch (2597:12): [True: 5, False: 191]
  ------------------
 2598|    191|        || (r=2, (8*sizeof(u32_t) <= gnu_shift))  // shifted result always == 0
  ------------------
  |  Branch (2598:12): [True: 0, False: 191]
  ------------------
 2599|    191|        || (r=3, (n_bucket>>30))  // fie on fuzzers
  ------------------
  |  Branch (2599:12): [True: 0, False: 191]
  ------------------
 2600|    191|        || (r=4, (n_bitmask>>30))
  ------------------
  |  Branch (2600:12): [True: 0, False: 191]
  ------------------
 2601|    191|        || (r=5, ((file_size/sizeof(unsigned))
  ------------------
  |  Branch (2601:12): [True: 3, False: 188]
  ------------------
 2602|    191|                <= ((sizeof(*bitmask)/sizeof(unsigned))*n_bitmask + 2*n_bucket)))  // FIXME: weak
 2603|    188|        || (r=6, ((v_gsh < v_sym) && (v_sym - v_gsh) < (sizeof(unsigned)*4  // headers
  ------------------
  |  Branch (2603:12): [True: 33, False: 155]
  |  Branch (2603:19): [True: 140, False: 48]
  |  Branch (2603:38): [True: 33, False: 107]
  ------------------
 2604|    140|                + sizeof(*bitmask)*n_bitmask  // bitmask
 2605|    140|                + sizeof(*buckets)*n_bucket  // buckets
 2606|    140|                + sizeof(*hasharr)*(!bmax ? 0 : (1+ bmax))  // hasharr
  ------------------
  |  Branch (2606:37): [True: 80, False: 60]
  ------------------
 2607|    140|            )) )
 2608|    262|        ) {
 2609|    107|            char msg[90]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|    107|#define snprintf  upx_safe_snprintf
  ------------------
 2610|    107|                "bad DT_GNU_HASH n_bucket=%#x  n_bitmask=%#x  len=%#lx  r=%d",
 2611|    107|                n_bucket, n_bitmask, (long unsigned)(v_sym - v_gsh), r);
 2612|    107|            throwCantPack(msg);
 2613|    107|        }
 2614|    262|    }
 2615|    653|    e_shstrndx = get_te16(&ehdri.e_shstrndx);  // who omitted this?
 2616|    653|    if (e_shnum <= e_shstrndx
  ------------------
  |  Branch (2616:9): [True: 73, False: 580]
  ------------------
 2617|     73|    &&  !(0==e_shnum && 0==e_shstrndx) ) {
  ------------------
  |  Branch (2617:11): [True: 49, False: 24]
  |  Branch (2617:25): [True: 48, False: 1]
  ------------------
 2618|     25|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     25|#define snprintf  upx_safe_snprintf
  ------------------
 2619|     25|            "bad .e_shstrndx %d >= .e_shnum %d", e_shstrndx, e_shnum);
 2620|     25|        throwCantPack(msg);
 2621|     25|    }
 2622|    653|}
_ZN14PackLinuxElf3214elf_find_ptypeEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEj:
 2626|  2.32k|{
 2627|  19.6k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (2627:26): [True: 17.6k, False: 2.05k]
  ------------------
 2628|  17.6k|        if (type == get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (2628:13): [True: 271, False: 17.3k]
  ------------------
 2629|    271|            return phdr;
 2630|    271|        }
 2631|  17.6k|    }
 2632|  2.05k|    return nullptr;
 2633|  2.32k|}
_ZN14PackLinuxElf6414elf_find_ptypeEjPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEj:
 2637|  1.16k|{
 2638|  8.49k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (2638:26): [True: 7.65k, False: 837]
  ------------------
 2639|  7.65k|        if (type == get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (2639:13): [True: 327, False: 7.33k]
  ------------------
 2640|    327|            return phdr;
 2641|    327|        }
 2642|  7.65k|    }
 2643|    837|    return nullptr;
 2644|  1.16k|}
_ZNK14PackLinuxElf3221elf_find_section_typeEj:
 2699|  3.88k|{
 2700|  3.88k|    Elf32_Shdr *shdr = shdri;
 2701|  3.88k|    if (!shdr) {
  ------------------
  |  Branch (2701:9): [True: 3.88k, False: 0]
  ------------------
 2702|  3.88k|        return nullptr;
 2703|  3.88k|    }
 2704|      0|    int j = e_shnum;
 2705|      0|    for (; 0 <=--j; ++shdr) {
  ------------------
  |  Branch (2705:12): [True: 0, False: 0]
  ------------------
 2706|      0|        if (type==get_te32(&shdr->sh_type)) {
  ------------------
  |  Branch (2706:13): [True: 0, False: 0]
  ------------------
 2707|      0|            return shdr;
 2708|      0|        }
 2709|      0|    }
 2710|      0|    return nullptr;
 2711|      0|}
_ZNK14PackLinuxElf6421elf_find_section_typeEj:
 2716|  3.56k|{
 2717|  3.56k|    Elf64_Shdr *shdr = shdri;
 2718|  3.56k|    if (!shdr) {
  ------------------
  |  Branch (2718:9): [True: 3.56k, False: 0]
  ------------------
 2719|  3.56k|        return nullptr;
 2720|  3.56k|    }
 2721|      0|    int j = e_shnum;
 2722|      0|    for (; 0 <=--j; ++shdr) {
  ------------------
  |  Branch (2722:12): [True: 0, False: 0]
  ------------------
 2723|      0|        if (type==get_te32(&shdr->sh_type)) {
  ------------------
  |  Branch (2723:13): [True: 0, False: 0]
  ------------------
 2724|      0|            return shdr;
 2725|      0|        }
 2726|      0|    }
 2727|      0|    return nullptr;
 2728|      0|}
_ZN14PackLinuxElf329canUnpackEv:
 2811|   102k|{
 2812|   102k|    if (checkEhdr(&ehdri)) {
  ------------------
  |  Branch (2812:9): [True: 94.5k, False: 7.56k]
  ------------------
 2813|  94.5k|        return false;
 2814|  94.5k|    }
 2815|  7.56k|    if (get_te16(&ehdri.e_phnum) < 2) {
  ------------------
  |  Branch (2815:9): [True: 7, False: 7.56k]
  ------------------
 2816|      7|        throwCantUnpack("e_phnum must be >= 2");
 2817|      7|    }
 2818|  7.56k|    if (Elf32_Ehdr::ET_DYN==get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (2818:9): [True: 392, False: 7.16k]
  ------------------
 2819|    392|        PackLinuxElf32help1(fi);
 2820|    392|    }
 2821|  7.56k|    if (super::canUnpack()) {
  ------------------
  |  Branch (2821:9): [True: 2.57k, False: 4.98k]
  ------------------
 2822|  2.57k|        return true;
 2823|  2.57k|    }
 2824|  4.98k|    return false;
 2825|  7.56k|}
_ZN14PackLinuxElf649canUnpackEv:
 3533|  45.3k|{
 3534|  45.3k|    if (checkEhdr(&ehdri)) {
  ------------------
  |  Branch (3534:9): [True: 43.6k, False: 1.67k]
  ------------------
 3535|  43.6k|        return false;
 3536|  43.6k|    }
 3537|  1.67k|    if (get_te16(&ehdri.e_phnum) < 2) {
  ------------------
  |  Branch (3537:9): [True: 4, False: 1.66k]
  ------------------
 3538|      4|        throwCantUnpack("e_phnum must be >= 2");
 3539|      4|    }
 3540|  1.66k|    if (Elf64_Ehdr::ET_DYN==get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (3540:9): [True: 141, False: 1.52k]
  ------------------
 3541|    141|        PackLinuxElf64help1(fi);
 3542|    141|    }
 3543|  1.66k|    if (super::canUnpack()) {
  ------------------
  |  Branch (3543:9): [True: 1.42k, False: 243]
  ------------------
 3544|  1.42k|        return true;
 3545|  1.42k|    }
 3546|    243|    return false;
 3547|  1.66k|}
_ZN14PackLinuxElf3213find_LOAD_gapEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEjj:
 5494|  1.28k|{
 5495|  1.28k|    if (!is_LOAD(&phdr[k])) {
  ------------------
  |  Branch (5495:9): [True: 1.08k, False: 204]
  ------------------
 5496|  1.08k|        return 0;
 5497|  1.08k|    }
 5498|    204|    unsigned const hi = get_te32(&phdr[k].p_offset) +
 5499|    204|                        get_te32(&phdr[k].p_filesz);
 5500|    204|    unsigned lo = ph.u_file_size;
 5501|    204|    if (lo < hi)
  ------------------
  |  Branch (5501:9): [True: 0, False: 204]
  ------------------
 5502|      0|        throwCantPack("bad input: PT_LOAD beyond end-of-file");
 5503|    204|    unsigned j = k;
 5504|  1.53k|    for (;;) { // circular search, optimize for adjacent ascending
 5505|  1.53k|        ++j;
 5506|  1.53k|        if (nph==j) {
  ------------------
  |  Branch (5506:13): [True: 188, False: 1.34k]
  ------------------
 5507|    188|            j = 0;
 5508|    188|        }
 5509|  1.53k|        if (k==j) {
  ------------------
  |  Branch (5509:13): [True: 188, False: 1.34k]
  ------------------
 5510|    188|            break;
 5511|    188|        }
 5512|  1.34k|        if (is_LOAD(&phdr[j])) {
  ------------------
  |  Branch (5512:13): [True: 383, False: 963]
  ------------------
 5513|    383|            unsigned const t = get_te32(&phdr[j].p_offset);
 5514|    383|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (5514:17): [True: 133, False: 250]
  ------------------
 5515|    133|                lo = t;
 5516|    133|                if (hi==lo) {
  ------------------
  |  Branch (5516:21): [True: 16, False: 117]
  ------------------
 5517|     16|                    break;
 5518|     16|                }
 5519|    133|            }
 5520|    383|        }
 5521|  1.34k|    }
 5522|    204|    return lo - hi;
 5523|    204|}
_ZN14PackLinuxElf6413find_LOAD_gapEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEjj:
 5872|  2.41k|{
 5873|  2.41k|    if (!is_LOAD(&phdr[k])) {
  ------------------
  |  Branch (5873:9): [True: 2.29k, False: 126]
  ------------------
 5874|  2.29k|        return 0;
 5875|  2.29k|    }
 5876|    126|    unsigned const hi = get_te64(&phdr[k].p_offset) +
 5877|    126|                        get_te64(&phdr[k].p_filesz);
 5878|    126|    unsigned lo = ph.u_file_size;
 5879|    126|    if (lo < hi)
  ------------------
  |  Branch (5879:9): [True: 0, False: 126]
  ------------------
 5880|      0|        throwCantPack("bad input: PT_LOAD beyond end-of-file");
 5881|    126|    unsigned j = k;
 5882|    896|    for (;;) { // circular search, optimize for adjacent ascending
 5883|    896|        ++j;
 5884|    896|        if (nph==j) {
  ------------------
  |  Branch (5884:13): [True: 122, False: 774]
  ------------------
 5885|    122|            j = 0;
 5886|    122|        }
 5887|    896|        if (k==j) {
  ------------------
  |  Branch (5887:13): [True: 122, False: 774]
  ------------------
 5888|    122|            break;
 5889|    122|        }
 5890|    774|        if (is_LOAD(&phdr[j])) {
  ------------------
  |  Branch (5890:13): [True: 235, False: 539]
  ------------------
 5891|    235|            unsigned const t = get_te64(&phdr[j].p_offset);
 5892|    235|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (5892:17): [True: 94, False: 141]
  ------------------
 5893|     94|                lo = t;
 5894|     94|                if (hi==lo) {
  ------------------
  |  Branch (5894:21): [True: 4, False: 90]
  ------------------
 5895|      4|                    break;
 5896|      4|                }
 5897|     94|            }
 5898|    235|        }
 5899|    774|    }
 5900|    126|    return lo - hi;
 5901|    126|}
_ZN14PackLinuxElf6410un_shlib_1EP10OutputFileR9MemBufferRjS4_j:
 7076|    327|{
 7077|       |    // xct_off [input side] was set by ::unpack when is_shlib
 7078|       |    // yct_off [output side] set here unless is_asl in next 'if' block
 7079|    327|    unsigned yct_off = xct_off;
 7080|       |
 7081|       |    // Below xct_off is not compressed (for benefit of rtld.)
 7082|    327|    fi->seek(0, SEEK_SET);
 7083|    327|    fi->readx(ibuf, umin(blocksize, file_size_u32));
 7084|       |
 7085|       |    // Determine if the extra page with copy of _Shdrs was spliced in.
 7086|       |    // This used to be the result of --android-shlib.
 7087|       |    // But in 2023-02 the forwarding of ARM_ATTRIBUTES (by appending)
 7088|       |    // takes care of this, so the 5th word before e_entry does not
 7089|       |    // have the low bit 1, so is_asl should not be set.
 7090|       |    // However, .so that were compressed before 2023-03
 7091|       |    // may be marked.
 7092|    327|    e_shoff = get_te64(&ehdri.e_shoff);
 7093|    327|    if (e_shoff && e_shnum
  ------------------
  |  Branch (7093:9): [True: 304, False: 23]
  |  Branch (7093:20): [True: 277, False: 27]
  ------------------
 7094|       |            // +36: (sizeof(PackHeader) + sizeof(overlay_offset))
 7095|       |            //    after Shdrs for ARM_ATTRIBUTES
 7096|    277|    &&  (((e_shoff + sizeof(Elf64_Shdr) * e_shnum) + 36) < file_size_u)
  ------------------
  |  Branch (7096:9): [True: 109, False: 168]
  ------------------
 7097|    327|    ) { // possible --android-shlib
 7098|    109|        unsigned x = get_te32(&file_image[get_te64(&ehdri.e_entry) - (1+ 4)*sizeof(int)]);
 7099|    109|        if (1 & x) { // the clincher
  ------------------
  |  Branch (7099:13): [True: 2, False: 107]
  ------------------
 7100|      2|            is_asl = 1;
 7101|      2|            fi->seek(e_shoff, SEEK_SET);
 7102|      2|            mb_shdr.alloc(   sizeof(Elf64_Shdr) * e_shnum);
 7103|      2|            shdri = (Elf64_Shdr *)mb_shdr.getVoidPtr();
 7104|      2|            fi->readx(shdri, sizeof(Elf64_Shdr) * e_shnum);
 7105|      2|            yct_off = get_te64(&shdri->sh_offset);  // for the output file (de-compressed)
 7106|      2|            xct_off = asl_delta + yct_off;  // for the input file (compressed)
 7107|      2|        }
 7108|    109|    }
 7109|       |
 7110|       |    // Decompress first Extent.  Old style covers [0, xct_off)
 7111|       |    // which includes rtld constant data and eXecutable app code below DT_INIT.
 7112|       |    // In old style, the first compressed Extent is redundant
 7113|       |    // except for the compressed original Elf headers.
 7114|       |    // New style covers just Elf headers: the rest below xct_off is
 7115|       |    // rtld constant data: DT_*HASH, DT_SYMTAB, DT_STRTAB, etc.
 7116|       |    // New style puts eXecutable app code in second PT_LOAD
 7117|       |    // in order to mark Elf headers and rtld data as non-eXecutable.
 7118|    327|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7119|    327|    struct {
 7120|    327|        struct l_info l;
 7121|    327|        struct p_info p;
 7122|    327|        struct b_info b;
 7123|    327|    } hdr;
 7124|    327|    fi->readx(&hdr, sizeof(hdr));
 7125|    327|    if (hdr.l.l_magic != UPX_MAGIC_LE32
  ------------------
  |  |  537|    654|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7125:9): [True: 105, False: 222]
  ------------------
 7126|    222|    ||  get_te16(&hdr.l.l_lsize) != (unsigned)lsize
  ------------------
  |  Branch (7126:9): [True: 0, False: 222]
  ------------------
 7127|    222|    ||  get_te32(&hdr.p.p_filesize) != ph.u_file_size
  ------------------
  |  Branch (7127:9): [True: 138, False: 84]
  ------------------
 7128|     84|    ||  get_te32(&hdr.b.sz_unc) < sz_elf_hdrs  // peek: 1st b_info covers Elf headers
  ------------------
  |  Branch (7128:9): [True: 1, False: 83]
  ------------------
 7129|    327|    ) {
 7130|    139|        throwCantUnpack("corrupt l_info/p_info/b_info");
 7131|    139|    }
 7132|    188|    fi->seek(-(off_t)sizeof(struct b_info), SEEK_CUR); // hdr.b_info was a peek
 7133|       |
 7134|       |// The default layout for a shared library created by binutils-2.29
 7135|       |// (Fedora 28; 2018) has two PT_LOAD: permissions r-x and rw-.
 7136|       |// xct_off (the lowest address of executable instructions;
 7137|       |// the highest address of read-only data used by rtld (ld-linux))
 7138|       |// will be somewhere in the first PT_LOAD.
 7139|       |//
 7140|       |// The default layout for a shared library created by binutils-2.31
 7141|       |// (Fedora 29; 2018) has four PT_LOAD: permissions r--, r-x, r--, rw-.
 7142|       |// xct_off will be the base of the second [r-x] PT_LOAD.
 7143|       |//
 7144|       |// Bytes below xct_off cannot be compressed because they are used
 7145|       |// by rtld *before* the UPX run-time de-compression stub gets control
 7146|       |// via DT_INIT. Bytes in a Writeable PT_LOAD cannot be compressed
 7147|       |// because they may be relocated by rtld, again before stub execution.
 7148|       |//
 7149|       |// We need to know which layout of PT_LOAD. It seems risky to steal
 7150|       |// bits in the input ElfXX_Ehdr or ElfXX_Phdr, so we decompress
 7151|       |// the first compressed block.  For an old-style shared library
 7152|       |// the first compressed block covers [0, xct_off) which is redundant
 7153|       |// with the interval [sz_elf_hdrs, xct_off) because those bytes
 7154|       |// must be present for use by rtl  (So that is a large inefficiency.)
 7155|       |// Fortunately p_info.p_blocksize fits in ibuf, and unpackExtent
 7156|       |// will just decompress it all.  For new style, the first compressed
 7157|       |// block covers [0, sz_elf_hdrs).
 7158|       |
 7159|       |    // Peek: unpack into ibuf, but do not write
 7160|    188|    unsigned const sz_block1 = unpackExtent(sz_elf_hdrs, nullptr,
 7161|    188|        c_adler, u_adler, false, -1);
 7162|    188|    if (sz_block1 < sz_elf_hdrs) {
  ------------------
  |  Branch (7162:9): [True: 0, False: 188]
  ------------------
 7163|      0|        throwCantUnpack("corrupt b_info");
 7164|      0|    }
 7165|    188|    memcpy(o_elfhdrs, ibuf, sz_elf_hdrs); // save de-compressed Elf headers
 7166|    188|    Elf64_Ehdr const *const ehdro = (Elf64_Ehdr const *)(void const *)o_elfhdrs;
 7167|    188|    if (ehdro->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7167:9): [True: 134, False: 54]
  ------------------
 7168|     54|    ||  ehdro->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7168:9): [True: 1, False: 53]
  ------------------
 7169|     53|    ||  ehdro->e_version!=ehdri.e_version
  ------------------
  |  Branch (7169:9): [True: 0, False: 53]
  ------------------
 7170|       |        // less strict for EM_PPC64 to workaround earlier bug
 7171|     53|    ||  !( ehdro->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7171:12): [True: 47, False: 6]
  ------------------
 7172|      6|        || Elf64_Ehdr::EM_PPC64 == get_te16(&ehdri.e_machine)
  ------------------
  |  Branch (7172:12): [True: 3, False: 3]
  ------------------
 7173|      3|        || Elf64_Ehdr::EM_RISCV == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7173:12): [True: 0, False: 3]
  ------------------
 7174|     50|    ||  ehdro->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7174:9): [True: 1, False: 49]
  ------------------
 7175|       |        // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7176|     49|    ||  memcmp(ehdro->e_ident, ehdri.e_ident, Elf64_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7176:9): [True: 5, False: 44]
  ------------------
 7177|     34|        throwCantUnpack("ElfXX_Ehdr corrupted");
 7178|     34|    }
 7179|    154|    if (fo) {
  ------------------
  |  Branch (7179:9): [True: 44, False: 110]
  ------------------
 7180|     44|        fo->write(ibuf, sz_block1);
 7181|     44|        total_out = sz_block1;
 7182|     44|    }
 7183|    154|    Elf64_Phdr const *o_phdr = (Elf64_Phdr const *)(1+ ehdro);
 7184|       |    // Handle compressed PT_LOADs (must not have PF_W)
 7185|    154|    unsigned not_first_LOAD = 0;
 7186|    246|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr) {
  ------------------
  |  Branch (7186:26): [True: 94, False: 152]
  ------------------
 7187|     94|        unsigned type = get_te32(&o_phdr->p_type);
 7188|     94|        unsigned flags = get_te32(&o_phdr->p_flags);
 7189|     94|        if (PT_LOAD != type || Elf64_Phdr::PF_W & flags) {
  ------------------
  |  |   56|     94|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7189:13): [True: 73, False: 21]
  |  Branch (7189:32): [True: 3, False: 18]
  ------------------
 7190|     76|            continue;
 7191|     76|        }
 7192|     18|        unsigned p_offset = get_te64(&o_phdr->p_offset);
 7193|     18|        unsigned p_filesz = get_te64(&o_phdr->p_filesz);
 7194|     18|        unsigned wanted = p_filesz;
 7195|     18|        if (!not_first_LOAD++) { // first PT_LOAD
  ------------------
  |  Branch (7195:13): [True: 17, False: 1]
  ------------------
 7196|     17|            wanted -= sz_block1;
 7197|     17|            if (sz_block1 >  sz_elf_hdrs) { // old style
  ------------------
  |  Branch (7197:17): [True: 15, False: 2]
  ------------------
 7198|     15|                if (is_asl) {
  ------------------
  |  Branch (7198:21): [True: 0, False: 15]
  ------------------
 7199|      0|                    un_asl_dynsym(orig_file_size, fo);
 7200|      0|                }
 7201|     15|                p_offset += sz_block1;
 7202|     15|            }
 7203|     17|            if (sz_block1 == sz_elf_hdrs) { // new style
  ------------------
  |  Branch (7203:17): [True: 2, False: 15]
  ------------------
 7204|      2|                unsigned const len = (yct_off ? yct_off : xct_off) - sz_elf_hdrs;
  ------------------
  |  Branch (7204:39): [True: 2, False: 0]
  ------------------
 7205|      2|                unsigned const ipos = fi->tell();
 7206|      2|                if ((upx_uint64_t)sz_elf_hdrs + len > ibuf.getSize())
  ------------------
  |  Branch (7206:21): [True: 2, False: 0]
  ------------------
 7207|      2|                    throwCantUnpack("bad xct_off or yct_off");
 7208|      0|                fi->seek(sz_elf_hdrs, SEEK_SET);
 7209|      0|                fi->readx(&ibuf[sz_elf_hdrs], len);
 7210|      0|                if (is_asl) {
  ------------------
  |  Branch (7210:21): [True: 0, False: 0]
  ------------------
 7211|      0|                    un_asl_dynsym(orig_file_size, nullptr);
 7212|      0|                }
 7213|      0|                if (fo) {
  ------------------
  |  Branch (7213:21): [True: 0, False: 0]
  ------------------
 7214|      0|                    fo->write(&ibuf[sz_elf_hdrs], len);
 7215|      0|                }
 7216|      0|                total_out += len;
 7217|       |
 7218|       |// github-issue629: (overlay_offset = 0xa500), so initially (xct_off = 0xa494).
 7219|       |// But "yct_off = get_te64(&shdri->sh_offset)" so if _Shdrs are aligned (??)
 7220|       |// then (0x10500 == (xct_off = asl_delta + yct_off)), and we read+write
 7221|       |// more than we need.
 7222|       |// So assume the excess just lives there, or is overwritten later by seek+write.
 7223|      0|                if (wanted < len) { // FIXME: why does this happen?
  ------------------
  |  Branch (7223:21): [True: 0, False: 0]
  ------------------
 7224|      0|                    wanted = 0;
 7225|      0|                }
 7226|      0|                else {
 7227|      0|                    wanted -= len;
 7228|      0|                }
 7229|      0|                fi->seek(ipos, SEEK_SET);
 7230|      0|                if (total_out == p_filesz) {
  ------------------
  |  Branch (7230:21): [True: 0, False: 0]
  ------------------
 7231|      0|                    continue;   // already entirely re-generated
 7232|      0|                }
 7233|      0|                p_offset = total_out;
 7234|      0|            }
 7235|     17|        }
 7236|     16|        if (fo) {
  ------------------
  |  Branch (7236:13): [True: 16, False: 0]
  ------------------
 7237|     16|            fo->seek(p_offset, SEEK_SET);
 7238|     16|        }
 7239|     16|        unpackExtent(wanted, fo, c_adler, u_adler, false);
 7240|     16|    }
 7241|    152|    funpad4(fi);
 7242|    152|    loader_offset = fi->tell();
 7243|       |
 7244|       |    // Handle PT_LOAD with PF_W: writeable, so not compressed.  "Slide"
 7245|    152|    o_phdr = (Elf64_Phdr const *)(1+ ehdro);
 7246|    152|    Elf64_Phdr const *i_phdr = phdri;
 7247|    221|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr, ++i_phdr) {
  ------------------
  |  Branch (7247:26): [True: 69, False: 152]
  ------------------
 7248|     69|        unsigned type = get_te32(&o_phdr->p_type);
 7249|     69|        unsigned flags = get_te32(&o_phdr->p_flags);
 7250|     69|        if (PT_LOAD != type || !(Elf64_Phdr::PF_W & flags)) {
  ------------------
  |  |   56|     69|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7250:13): [True: 61, False: 8]
  |  Branch (7250:32): [True: 5, False: 3]
  ------------------
 7251|     66|            continue;
 7252|     66|        }
 7253|      3|        unsigned filesz = get_te64(&o_phdr->p_filesz);
 7254|      3|        unsigned o_offset = get_te64(&o_phdr->p_offset);
 7255|      3|        unsigned i_offset = get_te64(&i_phdr->p_offset);
 7256|      3|        fi->seek(i_offset, SEEK_SET);
 7257|      3|        fi->readx(ibuf, filesz);
 7258|      3|        total_in += filesz;
 7259|      3|        if (fo) {
  ------------------
  |  Branch (7259:13): [True: 3, False: 0]
  ------------------
 7260|      3|            fo->seek(o_offset, SEEK_SET);
 7261|      3|            fo->write(ibuf, filesz);
 7262|      3|        }
 7263|      3|        total_out = filesz + o_offset;  // high-water mark
 7264|      3|    }
 7265|       |
 7266|       |    // Gaps between PT_LOAD will be handled by ::unpack()
 7267|       |
 7268|       |    // position fi at loader offset
 7269|       |    fi->seek(loader_offset, SEEK_SET);
 7270|    152|}
_ZN14PackLinuxElf3210un_shlib_1EP10OutputFileR9MemBufferRjS4_j:
 7279|    271|{
 7280|       |    // xct_off [input side] was set by ::unpack when is_shlib
 7281|       |    // yct_off [output side] set here unless is_asl in next 'if' block
 7282|    271|    unsigned yct_off = xct_off;
 7283|       |
 7284|       |    // Below xct_off is not compressed (for benefit of rtld.)
 7285|    271|    fi->seek(0, SEEK_SET);
 7286|    271|    fi->readx(ibuf, umin(blocksize, file_size_u32));
 7287|       |
 7288|       |    // Determine if the extra page with copy of _Shdrs was spliced in.
 7289|       |    // This used to be the result of --android-shlib.
 7290|       |    // But in 2023-02 the forwarding of ARM_ATTRIBUTES (by appending)
 7291|       |    // takes care of this, so the 5th word before e_entry does not
 7292|       |    // have the low bit 1, so is_asl should not be set.
 7293|       |    // However, .so that were compressed before 2023-03
 7294|       |    // may be marked.
 7295|    271|    e_shoff = get_te32(&ehdri.e_shoff);
 7296|    271|    if (e_shoff && e_shnum
  ------------------
  |  Branch (7296:9): [True: 163, False: 108]
  |  Branch (7296:20): [True: 150, False: 13]
  ------------------
 7297|       |            // +36: (sizeof(PackHeader) + sizeof(overlay_offset))
 7298|       |            //    after Shdrs for ARM_ATTRIBUTES
 7299|    150|    &&  (((e_shoff + sizeof(Elf32_Shdr) * e_shnum) + 36) < file_size_u32)
  ------------------
  |  Branch (7299:9): [True: 68, False: 82]
  ------------------
 7300|    271|    ) { // possible --android-shlib
 7301|     68|        unsigned x = get_te32(&file_image[get_te32(&ehdri.e_entry) - (1+ 4)*sizeof(int)]);
 7302|     68|        if (1 & x) { // the clincher
  ------------------
  |  Branch (7302:13): [True: 2, False: 66]
  ------------------
 7303|      2|            is_asl = 1;
 7304|      2|            fi->seek(e_shoff, SEEK_SET);
 7305|      2|            mb_shdr.alloc(   sizeof(Elf32_Shdr) * e_shnum);
 7306|      2|            shdri = (Elf32_Shdr *)mb_shdr.getVoidPtr();
 7307|      2|            fi->readx(shdri, sizeof(Elf32_Shdr) * e_shnum);
 7308|      2|            yct_off = get_te32(&shdri->sh_offset);  // for the output file (de-compressed)
 7309|      2|            xct_off = asl_delta + yct_off;  // for the input file (compressed)
 7310|      2|        }
 7311|     68|    }
 7312|       |
 7313|       |    // Decompress first Extent.  Old style covers [0, xct_off)
 7314|       |    // which includes rtld constant data and eXecutable app code below DT_INIT.
 7315|       |    // In old style, the first compressed Extent is redundant
 7316|       |    // except for the compressed original Elf headers.
 7317|       |    // New style covers just Elf headers: the rest below xct_off is
 7318|       |    // rtld constant data: DT_*HASH, DT_SYMTAB, DT_STRTAB, etc.
 7319|       |    // New style puts eXecutable app code in second PT_LOAD
 7320|       |    // in order to mark Elf headers and rtld data as non-eXecutable.
 7321|    271|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7322|    271|    struct {
 7323|    271|        struct l_info l;
 7324|    271|        struct p_info p;
 7325|    271|        struct b_info b;
 7326|    271|    } hdr;
 7327|    271|    fi->readx(&hdr, sizeof(hdr));
 7328|    271|    if (hdr.l.l_magic != UPX_MAGIC_LE32
  ------------------
  |  |  537|    542|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7328:9): [True: 64, False: 207]
  ------------------
 7329|    207|    ||  get_te16(&hdr.l.l_lsize) != (unsigned)lsize
  ------------------
  |  Branch (7329:9): [True: 0, False: 207]
  ------------------
 7330|    207|    ||  get_te32(&hdr.p.p_filesize) != ph.u_file_size
  ------------------
  |  Branch (7330:9): [True: 86, False: 121]
  ------------------
 7331|    121|    ||  get_te32(&hdr.b.sz_unc) < sz_elf_hdrs  // peek: 1st b_info covers Elf headers
  ------------------
  |  Branch (7331:9): [True: 1, False: 120]
  ------------------
 7332|    271|    ) {
 7333|     87|        throwCantUnpack("corrupt l_info/p_info/b_info");
 7334|     87|    }
 7335|    184|    fi->seek(-(off_t)sizeof(struct b_info), SEEK_CUR); // hdr.b_info was a peek
 7336|       |
 7337|       |// The default layout for a shared library created by binutils-2.29
 7338|       |// (Fedora 28; 2018) has two PT_LOAD: permissions r-x and rw-.
 7339|       |// xct_off (the lowest address of executable instructions;
 7340|       |// the highest address of read-only data used by rtld (ld-linux))
 7341|       |// will be somewhere in the first PT_LOAD.
 7342|       |//
 7343|       |// The default layout for a shared library created by binutils-2.31
 7344|       |// (Fedora 29; 2018) has four PT_LOAD: permissions r--, r-x, r--, rw-.
 7345|       |// xct_off will be the base of the second [r-x] PT_LOAD.
 7346|       |//
 7347|       |// Bytes below xct_off cannot be compressed because they are used
 7348|       |// by rtld *before* the UPX run-time de-compression stub gets control
 7349|       |// via DT_INIT. Bytes in a Writeable PT_LOAD cannot be compressed
 7350|       |// because they may be relocated by rtld, again before stub execution.
 7351|       |//
 7352|       |// We need to know which layout of PT_LOAD. It seems risky to steal
 7353|       |// bits in the input ElfXX_Ehdr or ElfXX_Phdr, so we decompress
 7354|       |// the first compressed block.  For an old-style shared library
 7355|       |// the first compressed block covers [0, xct_off) which is redundant
 7356|       |// with the interval [sz_elf_hdrs, xct_off) because those bytes
 7357|       |// must be present for use by rtl  (So that is a large inefficiency.)
 7358|       |// Fortunately p_info.p_blocksize fits in ibuf, and unpackExtent
 7359|       |// will just decompress it all.  For new style, the first compressed
 7360|       |// block covers [0, sz_elf_hdrs).
 7361|       |
 7362|       |    // Peek: unpack into ibuf, but do not write
 7363|    184|    unsigned const sz_block1 = unpackExtent(sz_elf_hdrs, nullptr,
 7364|    184|        c_adler, u_adler, false, -1);
 7365|    184|    if (sz_block1 < sz_elf_hdrs) {
  ------------------
  |  Branch (7365:9): [True: 0, False: 184]
  ------------------
 7366|      0|        throwCantUnpack("corrupt b_info");
 7367|      0|    }
 7368|    184|    memcpy(o_elfhdrs, ibuf, sz_elf_hdrs); // save de-compressed Elf headers
 7369|    184|    Elf32_Ehdr const *const ehdro = (Elf32_Ehdr const *)(void const *)o_elfhdrs;
 7370|    184|    if (ehdro->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7370:9): [True: 89, False: 95]
  ------------------
 7371|     95|    ||  ehdro->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7371:9): [True: 0, False: 95]
  ------------------
 7372|     95|    ||  ehdro->e_version!=ehdri.e_version
  ------------------
  |  Branch (7372:9): [True: 0, False: 95]
  ------------------
 7373|       |        // less strict for EM_PPC to workaround earlier bug
 7374|     95|    ||  !( ehdro->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7374:12): [True: 92, False: 3]
  ------------------
 7375|      3|        || Elf32_Ehdr::EM_PPC == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7375:12): [True: 0, False: 3]
  ------------------
 7376|     92|    ||  ehdro->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7376:9): [True: 1, False: 91]
  ------------------
 7377|       |        // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7378|     91|    ||  memcmp(ehdro->e_ident, ehdri.e_ident, Elf32_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7378:9): [True: 1, False: 90]
  ------------------
 7379|      6|        throwCantUnpack("ElfXX_Ehdr corrupted");
 7380|      6|    }
 7381|    178|    if (fo) {
  ------------------
  |  Branch (7381:9): [True: 90, False: 88]
  ------------------
 7382|     90|        fo->write(ibuf, sz_block1);
 7383|     90|        total_out = sz_block1;
 7384|     90|    }
 7385|    178|    Elf32_Phdr const *o_phdr = (Elf32_Phdr const *)(1+ ehdro);
 7386|       |    // Handle compressed PT_LOADs (must not have PF_W)
 7387|    178|    unsigned not_first_LOAD = 0;
 7388|    373|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr) {
  ------------------
  |  Branch (7388:26): [True: 196, False: 177]
  ------------------
 7389|    196|        unsigned type = get_te32(&o_phdr->p_type);
 7390|    196|        unsigned flags = get_te32(&o_phdr->p_flags);
 7391|    196|        if (PT_LOAD != type || Elf32_Phdr::PF_W & flags) {
  ------------------
  |  |   56|    196|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7391:13): [True: 165, False: 31]
  |  Branch (7391:32): [True: 7, False: 24]
  ------------------
 7392|    172|            continue;
 7393|    172|        }
 7394|     24|        unsigned p_offset = get_te32(&o_phdr->p_offset);
 7395|     24|        unsigned p_filesz = get_te32(&o_phdr->p_filesz);
 7396|     24|        unsigned wanted = p_filesz;
 7397|     24|        if (!not_first_LOAD++) { // first PT_LOAD
  ------------------
  |  Branch (7397:13): [True: 23, False: 1]
  ------------------
 7398|     23|            wanted -= sz_block1;
 7399|     23|            if (sz_block1 >  sz_elf_hdrs) { // old style
  ------------------
  |  Branch (7399:17): [True: 16, False: 7]
  ------------------
 7400|     16|                if (is_asl) {
  ------------------
  |  Branch (7400:21): [True: 0, False: 16]
  ------------------
 7401|      0|                    un_asl_dynsym(orig_file_size, fo);
 7402|      0|                }
 7403|     16|                p_offset += sz_block1;
 7404|     16|            }
 7405|     23|            if (sz_block1 == sz_elf_hdrs) { // new style
  ------------------
  |  Branch (7405:17): [True: 7, False: 16]
  ------------------
 7406|      7|                unsigned const len = (yct_off ? yct_off : xct_off) - sz_elf_hdrs;
  ------------------
  |  Branch (7406:39): [True: 7, False: 0]
  ------------------
 7407|      7|                unsigned const ipos = fi->tell();
 7408|      7|                if ((upx_uint64_t)sz_elf_hdrs + len > ibuf.getSize())
  ------------------
  |  Branch (7408:21): [True: 1, False: 6]
  ------------------
 7409|      1|                    throwCantUnpack("bad xct_off or yct_off");
 7410|      6|                fi->seek(sz_elf_hdrs, SEEK_SET);
 7411|      6|                fi->readx(&ibuf[sz_elf_hdrs], len);
 7412|      6|                if (is_asl) {
  ------------------
  |  Branch (7412:21): [True: 0, False: 6]
  ------------------
 7413|      0|                    un_asl_dynsym(orig_file_size, nullptr);
 7414|      0|                }
 7415|      6|                if (fo) {
  ------------------
  |  Branch (7415:21): [True: 6, False: 0]
  ------------------
 7416|      6|                    fo->write(&ibuf[sz_elf_hdrs], len);
 7417|      6|                }
 7418|      6|                total_out += len;
 7419|       |
 7420|       |// github-issue629: (overlay_offset = 0xa500), so initially (xct_off = 0xa494).
 7421|       |// But "yct_off = get_te32(&shdri->sh_offset)" so if _Shdrs are aligned (??)
 7422|       |// then (0x10500 == (xct_off = asl_delta + yct_off)), and we read+write
 7423|       |// more than we need.
 7424|       |// So assume the excess just lives there, or is overwritten later by seek+write.
 7425|      6|                if (wanted < len) { // FIXME: why does this happen?
  ------------------
  |  Branch (7425:21): [True: 0, False: 6]
  ------------------
 7426|      0|                    wanted = 0;
 7427|      0|                }
 7428|      6|                else {
 7429|      6|                    wanted -= len;
 7430|      6|                }
 7431|      6|                fi->seek(ipos, SEEK_SET);
 7432|      6|                if (total_out == p_filesz) {
  ------------------
  |  Branch (7432:21): [True: 0, False: 6]
  ------------------
 7433|      0|                    continue;   // already entirely re-generated
 7434|      0|                }
 7435|      6|                p_offset = total_out;
 7436|      6|            }
 7437|     23|        }
 7438|     23|        if (fo) {
  ------------------
  |  Branch (7438:13): [True: 23, False: 0]
  ------------------
 7439|     23|            fo->seek(p_offset, SEEK_SET);
 7440|     23|        }
 7441|     23|        unpackExtent(wanted, fo, c_adler, u_adler, false);
 7442|     23|    }
 7443|    177|    funpad4(fi);
 7444|    177|    loader_offset = fi->tell();
 7445|       |
 7446|       |    // Handle PT_LOAD with PF_W: writeable, so not compressed.  "Slide"
 7447|    177|    o_phdr = (Elf32_Phdr const *)(1+ ehdro);
 7448|    177|    Elf32_Phdr const *i_phdr = phdri;
 7449|    357|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr, ++i_phdr) {
  ------------------
  |  Branch (7449:26): [True: 180, False: 177]
  ------------------
 7450|    180|        unsigned type = get_te32(&o_phdr->p_type);
 7451|    180|        unsigned flags = get_te32(&o_phdr->p_flags);
 7452|    180|        if (PT_LOAD != type || !(Elf32_Phdr::PF_W & flags)) {
  ------------------
  |  |   56|    180|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7452:13): [True: 155, False: 25]
  |  Branch (7452:32): [True: 18, False: 7]
  ------------------
 7453|    173|            continue;
 7454|    173|        }
 7455|      7|        unsigned filesz = get_te32(&o_phdr->p_filesz);
 7456|      7|        unsigned o_offset = get_te32(&o_phdr->p_offset);
 7457|      7|        unsigned i_offset = get_te32(&i_phdr->p_offset);
 7458|      7|        fi->seek(i_offset, SEEK_SET);
 7459|      7|        fi->readx(ibuf, filesz);
 7460|      7|        total_in += filesz;
 7461|      7|        if (fo) {
  ------------------
  |  Branch (7461:13): [True: 5, False: 2]
  ------------------
 7462|      5|            fo->seek(o_offset, SEEK_SET);
 7463|      5|            fo->write(ibuf, filesz);
 7464|      5|        }
 7465|      7|        total_out = filesz + o_offset;  // high-water mark
 7466|      7|    }
 7467|       |
 7468|       |    // Gaps between PT_LOAD will be handled by ::unpack()
 7469|       |
 7470|       |    // position fi at loader offset
 7471|       |    fi->seek(loader_offset, SEEK_SET);
 7472|    177|}
_ZN14PackLinuxElf3210un_DT_INITEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEES9_P10OutputFile:
 7480|     49|{
 7481|       |    // DT_INIT must be restored.
 7482|       |    // If android_shlib, then the asl_delta relocations must be un-done.
 7483|     49|    unsigned n_plt = 0;
 7484|     49|    upx_uint32_t dt_pltrelsz(0), dt_jmprel(0), dt_pltgot(0);
 7485|     49|    upx_uint32_t dt_relsz(0), dt_rel(0);
 7486|     49|    upx_uint32_t const dyn_len = get_te32(&dynhdr->p_filesz);
 7487|     49|    upx_uint32_t const dyn_off = get_te32(&dynhdr->p_offset);
 7488|     49|    if (file_size_u32 < (dyn_len + dyn_off)) {
  ------------------
  |  Branch (7488:9): [True: 34, False: 15]
  ------------------
 7489|     34|        char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     34|#define snprintf  upx_safe_snprintf
  ------------------
 7490|     34|                "bad PT_DYNAMIC .p_filesz %#lx", (long unsigned)dyn_len);
 7491|     34|        throwCantUnpack(msg);
 7492|     34|    }
 7493|     15|    fi->seek(dyn_off, SEEK_SET);
 7494|     15|    fi->readx(ibuf, dyn_len);
 7495|     15|    Elf32_Dyn *dyn = (Elf32_Dyn *)(void *)ibuf;
 7496|     15|    dynseg = dyn; invert_pt_dynamic(dynseg,
 7497|     15|        umin(dyn_len, file_size_u32 - dyn_off));
 7498|     15|    for (unsigned j2= 0; j2 < dyn_len; ++dyn, j2 += sizeof(*dyn)) {
  ------------------
  |  Branch (7498:26): [True: 0, False: 15]
  ------------------
 7499|      0|        upx_uint32_t const tag = get_te32(&dyn->d_tag);
 7500|      0|        upx_uint32_t       val = get_te32(&dyn->d_val);
 7501|      0|        if (is_asl) switch (tag) {
  ------------------
  |  Branch (7501:13): [True: 0, False: 0]
  |  Branch (7501:29): [True: 0, False: 0]
  ------------------
 7502|      0|        case Elf32_Dyn::DT_RELASZ:   { dt_relsz   = val; } break;
  ------------------
  |  Branch (7502:9): [True: 0, False: 0]
  ------------------
 7503|      0|        case Elf32_Dyn::DT_RELA:     { dt_rel     = val; } break;
  ------------------
  |  Branch (7503:9): [True: 0, False: 0]
  ------------------
 7504|      0|        case Elf32_Dyn::DT_JMPREL:   { dt_jmprel   = val; } break;
  ------------------
  |  Branch (7504:9): [True: 0, False: 0]
  ------------------
 7505|      0|        case Elf32_Dyn::DT_PLTRELSZ: { dt_pltrelsz = val;
  ------------------
  |  Branch (7505:9): [True: 0, False: 0]
  ------------------
 7506|      0|            n_plt = dt_pltrelsz / sizeof(Elf32_Rel);
 7507|      0|            if (is_asl) {
  ------------------
  |  Branch (7507:17): [True: 0, False: 0]
  ------------------
 7508|      0|                n_plt += 3;  // FIXME
 7509|      0|            }
 7510|      0|        };  break;
 7511|       |
 7512|      0|        case Elf32_Dyn::DT_PLTGOT:   { plt_va = dt_pltgot = val; (void)dt_pltgot; }
  ------------------
  |  Branch (7512:9): [True: 0, False: 0]
  ------------------
 7513|       |        // FALL THROUGH
 7514|      0|        case Elf32_Dyn::DT_PREINIT_ARRAY:
  ------------------
  |  Branch (7514:9): [True: 0, False: 0]
  ------------------
 7515|      0|        case Elf32_Dyn::DT_INIT_ARRAY:
  ------------------
  |  Branch (7515:9): [True: 0, False: 0]
  ------------------
 7516|      0|        case Elf32_Dyn::DT_FINI_ARRAY:
  ------------------
  |  Branch (7516:9): [True: 0, False: 0]
  ------------------
 7517|      0|        case Elf32_Dyn::DT_FINI: if (is_asl) {
  ------------------
  |  Branch (7517:9): [True: 0, False: 0]
  |  Branch (7517:38): [True: 0, False: 0]
  ------------------
 7518|      0|            set_te32(&dyn->d_val, val - asl_delta);
 7519|      0|        }; break;
 7520|      0|        } // end switch() on tag when is_asl
 7521|      0|        if (upx_dt_init == tag) {
  ------------------
  |  Branch (7521:13): [True: 0, False: 0]
  ------------------
 7522|      0|            if (Elf32_Dyn::DT_INIT == tag) { // the easy case
  ------------------
  |  Branch (7522:17): [True: 0, False: 0]
  ------------------
 7523|      0|                set_te32(&dyn->d_val, old_dtinit);
 7524|      0|                if (!old_dtinit) { // compressor took the slot
  ------------------
  |  Branch (7524:21): [True: 0, False: 0]
  ------------------
 7525|      0|                    dyn->d_tag = Elf32_Dyn::DT_NULL;
 7526|      0|                    dyn->d_val = 0;
 7527|      0|                }
 7528|      0|            }
 7529|       |            // Apparently the hard case is common for some Android IDEs.
 7530|      0|            else if (Elf32_Dyn::DT_INIT_ARRAY    == tag
  ------------------
  |  Branch (7530:22): [True: 0, False: 0]
  ------------------
 7531|      0|            ||       Elf32_Dyn::DT_PREINIT_ARRAY == tag) {
  ------------------
  |  Branch (7531:22): [True: 0, False: 0]
  ------------------
 7532|       |                // 'val' is the RVA of the first slot, which is the slot that
 7533|       |                // the compressor changed to be the entry to the run-time stub.
 7534|      0|                Elf32_Dyn *dyn_null = elf_find_dynptr(Elf32_Dyn::DT_NULL);
 7535|      0|                if (!dyn_null)
  ------------------
  |  Branch (7535:21): [True: 0, False: 0]
  ------------------
 7536|      0|                    throwCantUnpack("bad PT_DYNAMIC .end");
 7537|      0|                Elf32_Rel *rp = (Elf32_Rel *)elf_find_dynamic(dyn_null->d_val);
 7538|      0|                dyn_null->d_val = 0;
 7539|      0|                if (rp) {
  ------------------
  |  Branch (7539:21): [True: 0, False: 0]
  ------------------
 7540|      0|                    if ((char *)rp + sizeof(Elf32_Rel) > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7540:25): [True: 0, False: 0]
  ------------------
 7541|      0|                        throwCantUnpack("bad DT_INIT_ARRAY relocation offset");
 7542|      0|                    if ((char *)&dynsym[1] > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7542:25): [True: 0, False: 0]
  ------------------
 7543|      0|                        throwCantUnpack("bad dynsym for DT_INIT_ARRAY");
 7544|       |                    // Compressor saved the original *rp in dynsym[0]
 7545|      0|                    Elf32_Rel *rp_unc = (Elf32_Rel *)&dynsym[0];  // pointer
 7546|      0|                    rp->r_info = rp_unc->r_info;  // restore original r_info; r_offset not touched
 7547|       |
 7548|      0|                    unsigned e_entry = get_te32(&ehdri.e_entry);
 7549|      0|                    unsigned init_rva = get_te32(&file_image[e_entry - 3*sizeof(unsigned)]);
 7550|      0|                    unsigned arr_rva = get_te32(&rp_unc->r_offset);
 7551|      0|                    Elf32_Phdr const *phdr = elf_find_Phdr_for_va(arr_rva, phdro, e_phnum);
 7552|      0|                    unsigned arr_off = (arr_rva - get_te32(&phdr->p_vaddr)) + get_te32(&phdr->p_offset);
 7553|       |
 7554|      0|                    rp_unc->r_offset = 0;    rp_unc->r_info = 0;
 7555|      0|                    if (fo)  {
  ------------------
  |  Branch (7555:25): [True: 0, False: 0]
  ------------------
 7556|      0|                        fo->seek(elf_unsigned_dynamic(Elf32_Dyn::DT_SYMTAB), SEEK_SET);
 7557|      0|                        fo->rewrite(rp_unc, sizeof(Elf32_Rel));  // clear dynsym[0]
 7558|       |
 7559|      0|                        fo->seek((char *)rp - (char *)&file_image[0], SEEK_SET);
 7560|      0|                        fo->rewrite(rp, sizeof(*rp));  // restore original *rp
 7561|      0|                    }
 7562|       |
 7563|       |                    // Set arr[0] to the first user init routine.
 7564|      0|                    unsigned r_info = get_te32(&rp->r_info);
 7565|      0|                    unsigned r_type = ELF32_R_TYPE(r_info);
 7566|      0|                    unsigned word;
 7567|      0|                    if (Elf32_Ehdr::EM_ARM == e_machine) {
  ------------------
  |  Branch (7567:25): [True: 0, False: 0]
  ------------------
 7568|      0|                        if (R_ARM_RELATIVE == r_type) {
  ------------------
  |  Branch (7568:29): [True: 0, False: 0]
  ------------------
 7569|      0|                            set_te32(&word, init_rva);
 7570|      0|                        }
 7571|      0|                        else if (R_ARM_ABS32 == r_type) {
  ------------------
  |  Branch (7571:34): [True: 0, False: 0]
  ------------------
 7572|      0|                            word = 0;
 7573|      0|                        }
 7574|      0|                        else {
 7575|      0|                            char msg[40]; snprintf(msg, sizeof(msg), "unknown relocation: %#x",
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 7576|      0|                                r_type);
 7577|      0|                            throwCantUnpack(msg);
 7578|      0|                        }
 7579|      0|                    }
 7580|      0|                    else if (Elf32_Ehdr::EM_386 == e_machine) {
  ------------------
  |  Branch (7580:30): [True: 0, False: 0]
  ------------------
 7581|      0|                        if (R_386_RELATIVE == r_type) {
  ------------------
  |  Branch (7581:29): [True: 0, False: 0]
  ------------------
 7582|      0|                        }
 7583|      0|                        else if (R_386_32 == r_type) {
  ------------------
  |  Branch (7583:34): [True: 0, False: 0]
  ------------------
 7584|      0|                        }
 7585|      0|                        if (R_386_RELATIVE == r_type) {
  ------------------
  |  Branch (7585:29): [True: 0, False: 0]
  ------------------
 7586|      0|                            set_te32(&word, init_rva);
 7587|      0|                        }
 7588|      0|                        else if (R_386_32 == r_type) {
  ------------------
  |  Branch (7588:34): [True: 0, False: 0]
  ------------------
 7589|      0|                            word = 0;
 7590|      0|                        }
 7591|      0|                        else {
 7592|      0|                            char msg[40]; snprintf(msg, sizeof(msg), "unknown relocation: %#x",
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 7593|      0|                                r_type);
 7594|      0|                            throwCantUnpack(msg);
 7595|      0|                        }
 7596|      0|                    }
 7597|      0|                    if (fo) {
  ------------------
  |  Branch (7597:25): [True: 0, False: 0]
  ------------------
 7598|      0|                        fo->seek(arr_off, SEEK_SET);
 7599|      0|                        fo->rewrite(&word, sizeof(unsigned));
 7600|      0|                        fo->seek(0, SEEK_END);
 7601|      0|                    }
 7602|      0|                }
 7603|      0|            }
 7604|      0|        }
 7605|      0|    }
 7606|     15|    if (fo) { // Write updated dt_*.val
  ------------------
  |  Branch (7606:9): [True: 0, False: 15]
  ------------------
 7607|      0|        upx_uint32_t dyn_offo = get_te32(&phdro[dynhdr - phdri].p_offset);
 7608|      0|        fo->seek(dyn_offo, SEEK_SET);
 7609|      0|        fo->rewrite(ibuf, dyn_len);
 7610|      0|    }
 7611|     15|    if (is_asl) {
  ------------------
  |  Branch (7611:9): [True: 0, False: 15]
  ------------------
 7612|      0|        MemBuffer ptload1;  // FIXME.  file_image has the whole file; ibuf is available
 7613|      0|        lowmem.alloc(xct_off);
 7614|      0|        fi->seek(0, SEEK_SET);
 7615|      0|        fi->read(lowmem, xct_off);  // contains relocation tables
 7616|      0|        if (dt_relsz && dt_rel) {
  ------------------
  |  Branch (7616:13): [True: 0, False: 0]
  |  Branch (7616:25): [True: 0, False: 0]
  ------------------
 7617|      0|            Elf32_Rel *const rel0 = (Elf32_Rel *)lowmem.subref(
 7618|      0|                "bad Rel offset", dt_rel, dt_relsz);
 7619|      0|            unRel32(dt_rel, rel0, dt_relsz, ptload1, old_dtinit, fo);
 7620|      0|        }
 7621|      0|        if (dt_pltrelsz && dt_jmprel) { // FIXME:  overlap w/ DT_REL ?
  ------------------
  |  Branch (7621:13): [True: 0, False: 0]
  |  Branch (7621:28): [True: 0, False: 0]
  ------------------
 7622|      0|            Elf32_Rel *const jmp0 = (Elf32_Rel *)lowmem.subref(
 7623|      0|                "bad Jmprel offset", dt_jmprel, dt_pltrelsz);
 7624|      0|            jump_slots.alloc(n_plt * sizeof(upx_uint32_t));
 7625|      0|            Elf32_Phdr const *phdr = phdri;
 7626|      0|            for (unsigned j = 0; j < e_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7626:34): [True: 0, False: 0]
  |  Branch (7626:64): [True: 0, False: 0]
  ------------------
 7627|      0|                upx_uint32_t vaddr = get_te32(&phdr->p_vaddr);
 7628|      0|                upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 7629|      0|                upx_uint32_t d = plt_va - vaddr;
 7630|      0|                if (d < filesz) {
  ------------------
  |  Branch (7630:21): [True: 0, False: 0]
  ------------------
 7631|      0|                    upx_uint32_t offset = get_te32(&phdr->p_offset);
 7632|      0|                    fi->seek(d + offset, SEEK_SET);
 7633|      0|                    fi->readx(jump_slots, n_plt * sizeof(upx_uint32_t));
 7634|      0|                    break;
 7635|      0|                }
 7636|      0|            }
 7637|      0|            unRel32(dt_jmprel, jmp0, dt_pltrelsz, ptload1, old_dtinit, fo);
 7638|       |
 7639|      0|            Elf32_Ehdr const *const o_ehdr = (Elf32_Ehdr const *)(void *)lowmem;
 7640|      0|            unsigned const o_phnum = o_ehdr->e_phnum;
 7641|      0|            if (((1<<16) - sizeof(Elf32_Ehdr)) / sizeof(Elf32_Phdr) < o_phnum)
  ------------------
  |  Branch (7641:17): [True: 0, False: 0]
  ------------------
 7642|      0|                throwCantUnpack("bad Ehdr.e_phnum %#x", o_phnum);
 7643|      0|            phdr = phdro;
 7644|      0|            for (unsigned j = 0; j < o_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7644:34): [True: 0, False: 0]
  |  Branch (7644:64): [True: 0, False: 0]
  ------------------
 7645|      0|                upx_uint32_t vaddr = get_te32(&phdr->p_vaddr);
 7646|      0|                upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 7647|      0|                upx_uint32_t d = plt_va - vaddr - asl_delta;
 7648|      0|                if (d < filesz) {
  ------------------
  |  Branch (7648:21): [True: 0, False: 0]
  ------------------
 7649|      0|                    upx_uint32_t offset = get_te32(&phdr->p_offset);
 7650|      0|                    if ((upx_uint32_t)file_size <= offset)
  ------------------
  |  Branch (7650:25): [True: 0, False: 0]
  ------------------
 7651|      0|                        throwCantUnpack("bad phdr[%d].p_offset %#zx", j, (size_t)offset);
 7652|      0|                    if (fo) {
  ------------------
  |  Branch (7652:25): [True: 0, False: 0]
  ------------------
 7653|      0|                        fo->seek(d + offset, SEEK_SET);
 7654|      0|                        fo->rewrite(jump_slots, n_plt * sizeof(upx_uint32_t));
 7655|      0|                    }
 7656|      0|                    break;
 7657|      0|                }
 7658|      0|            }
 7659|      0|        }
 7660|       |        // Modified relocation tables are re-written by unRel32
 7661|      0|    }
 7662|     15|}
_ZN14PackLinuxElf6410un_DT_INITEjPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEESA_P10OutputFile:
 7670|     12|{
 7671|       |    // DT_INIT must be restored.
 7672|       |    // If android_shlib, then the asl_delta relocations must be un-done.
 7673|     12|    unsigned n_plt = 0;
 7674|     12|    upx_uint64_t dt_pltrelsz(0), dt_jmprel(0), dt_pltgot(0);
 7675|     12|    upx_uint64_t dt_relasz(0), dt_rela(0);
 7676|     12|    upx_uint64_t const dyn_len = get_te64(&dynhdr->p_filesz);
 7677|     12|    upx_uint64_t const dyn_off = get_te64(&dynhdr->p_offset);
 7678|     12|    if (file_size_u < (dyn_len + dyn_off)) {
  ------------------
  |  Branch (7678:9): [True: 1, False: 11]
  ------------------
 7679|      1|        char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      1|#define snprintf  upx_safe_snprintf
  ------------------
 7680|      1|                "bad PT_DYNAMIC .p_filesz %#lx", (long unsigned)dyn_len);
 7681|      1|        throwCantUnpack(msg);
 7682|      1|    }
 7683|     11|    fi->seek(dyn_off, SEEK_SET);
 7684|     11|    fi->readx(ibuf, dyn_len);
 7685|     11|    Elf64_Dyn *dyn = (Elf64_Dyn *)(void *)ibuf;
 7686|     11|    dynseg = dyn; invert_pt_dynamic(dynseg,
 7687|     11|        umin(dyn_len, file_size_u - dyn_off));
 7688|     11|    for (unsigned j2= 0; j2 < dyn_len; ++dyn, j2 += sizeof(*dyn)) {
  ------------------
  |  Branch (7688:26): [True: 0, False: 11]
  ------------------
 7689|      0|        upx_uint64_t const tag = get_te64(&dyn->d_tag);
 7690|      0|        upx_uint64_t       val = get_te64(&dyn->d_val);
 7691|      0|        if (is_asl) switch (tag) {
  ------------------
  |  Branch (7691:13): [True: 0, False: 0]
  |  Branch (7691:29): [True: 0, False: 0]
  ------------------
 7692|      0|        case Elf64_Dyn::DT_RELASZ:   { dt_relasz   = val; } break;
  ------------------
  |  Branch (7692:9): [True: 0, False: 0]
  ------------------
 7693|      0|        case Elf64_Dyn::DT_RELA:     { dt_rela     = val; } break;
  ------------------
  |  Branch (7693:9): [True: 0, False: 0]
  ------------------
 7694|      0|        case Elf64_Dyn::DT_JMPREL:   { dt_jmprel   = val; } break;
  ------------------
  |  Branch (7694:9): [True: 0, False: 0]
  ------------------
 7695|      0|        case Elf64_Dyn::DT_PLTRELSZ: { dt_pltrelsz = val;
  ------------------
  |  Branch (7695:9): [True: 0, False: 0]
  ------------------
 7696|      0|            n_plt = dt_pltrelsz / sizeof(Elf32_Rel);
 7697|      0|            if (is_asl) {
  ------------------
  |  Branch (7697:17): [True: 0, False: 0]
  ------------------
 7698|      0|                n_plt += 3;  // FIXME
 7699|      0|            }
 7700|      0|        };  break;
 7701|       |
 7702|      0|        case Elf64_Dyn::DT_PLTGOT:   { plt_va = dt_pltgot = val; (void)dt_pltgot;}
  ------------------
  |  Branch (7702:9): [True: 0, False: 0]
  ------------------
 7703|       |        // FALL THROUGH
 7704|      0|        case Elf64_Dyn::DT_PREINIT_ARRAY:
  ------------------
  |  Branch (7704:9): [True: 0, False: 0]
  ------------------
 7705|      0|        case Elf64_Dyn::DT_INIT_ARRAY:
  ------------------
  |  Branch (7705:9): [True: 0, False: 0]
  ------------------
 7706|      0|        case Elf64_Dyn::DT_FINI_ARRAY:
  ------------------
  |  Branch (7706:9): [True: 0, False: 0]
  ------------------
 7707|      0|        case Elf64_Dyn::DT_FINI: if (is_asl) {
  ------------------
  |  Branch (7707:9): [True: 0, False: 0]
  |  Branch (7707:38): [True: 0, False: 0]
  ------------------
 7708|      0|            set_te64(&dyn->d_val, val - asl_delta);
 7709|      0|        }; break;
 7710|      0|        } // end switch() on tag when is_asl
 7711|      0|        if (upx_dt_init == tag) { // the easy case
  ------------------
  |  Branch (7711:13): [True: 0, False: 0]
  ------------------
 7712|      0|            if (Elf64_Dyn::DT_INIT == tag) {
  ------------------
  |  Branch (7712:17): [True: 0, False: 0]
  ------------------
 7713|      0|                set_te64(&dyn->d_val, old_dtinit);
 7714|      0|                if (!old_dtinit) { // compressor took the slot
  ------------------
  |  Branch (7714:21): [True: 0, False: 0]
  ------------------
 7715|      0|                    dyn->d_tag = Elf64_Dyn::DT_NULL;
 7716|      0|                    dyn->d_val = 0;
 7717|      0|                }
 7718|      0|            }
 7719|       |            // Apparently the hard case is common for some Android IDEs.
 7720|       |            // No DT_INIT; only DT_INIT_ARRAY.
 7721|      0|            else if (Elf64_Dyn::DT_INIT_ARRAY    == tag
  ------------------
  |  Branch (7721:22): [True: 0, False: 0]
  ------------------
 7722|      0|            ||       Elf64_Dyn::DT_PREINIT_ARRAY == tag) {
  ------------------
  |  Branch (7722:22): [True: 0, False: 0]
  ------------------
 7723|       |                // 'val' is the RVA of the first slot, which is the slot that
 7724|       |                // the compressor changed to be the entry to the run-time stub.
 7725|      0|                Elf64_Dyn *dyn_null = elf_find_dynptr(Elf64_Dyn::DT_NULL);
 7726|      0|                if (!dyn_null)
  ------------------
  |  Branch (7726:21): [True: 0, False: 0]
  ------------------
 7727|      0|                    throwCantUnpack("bad PT_DYNAMIC .end");
 7728|      0|                Elf64_Rela *rp = (Elf64_Rela *)elf_find_dynamic(dyn_null->d_val);
 7729|      0|                dyn_null->d_val = 0;
 7730|      0|                if (rp) {
  ------------------
  |  Branch (7730:21): [True: 0, False: 0]
  ------------------
 7731|      0|                    if ((char *)rp + sizeof(Elf64_Rela) > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7731:25): [True: 0, False: 0]
  ------------------
 7732|      0|                        throwCantUnpack("bad DT_INIT_ARRAY relocation offset");
 7733|      0|                    if ((char *)&dynsym[1] > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7733:25): [True: 0, False: 0]
  ------------------
 7734|      0|                        throwCantUnpack("bad dynsym for DT_INIT_ARRAY");
 7735|       |                    // Compressor saved the original *rp in dynsym[0]
 7736|      0|                    Elf64_Rela *rp_unc = (Elf64_Rela *)&dynsym[0];  // pointer
 7737|      0|                    rp->r_info = rp_unc->r_info;  // restore original r_info; r_offset not touched
 7738|      0|                    rp->r_addend = rp_unc->r_addend;
 7739|       |
 7740|      0|                    unsigned arr_rva = get_te64(&rp_unc->r_offset);
 7741|      0|                    Elf64_Phdr const *phdr = elf_find_Phdr_for_va(arr_rva, phdro, e_phnum);
 7742|      0|                    unsigned arr_off = (arr_rva - get_te64(&phdr->p_vaddr)) + get_te64(&phdr->p_offset);
 7743|       |
 7744|      0|                    if (fo)  {
  ------------------
  |  Branch (7744:25): [True: 0, False: 0]
  ------------------
 7745|      0|                        memset(rp_unc, 0, sizeof(*rp_unc));
 7746|      0|                        fo->seek(elf_unsigned_dynamic(Elf64_Dyn::DT_SYMTAB), SEEK_SET);
 7747|      0|                        fo->rewrite(rp_unc, sizeof(Elf64_Rela));  // clear dynsym[0]
 7748|       |
 7749|      0|                        fo->seek((char *)rp - (char *)&file_image[0], SEEK_SET);
 7750|      0|                        fo->rewrite(rp, sizeof(*rp));  // restore original *rp
 7751|       |
 7752|       |                        // Elf64_Rela overwrites; but put back original.
 7753|      0|                        fo->seek(arr_off, SEEK_SET);
 7754|      0|                        fo->rewrite(rp_unc, sizeof(u64_t));
 7755|       |
 7756|      0|                        fo->seek(0, SEEK_END);
 7757|      0|                    }
 7758|      0|                }
 7759|      0|            }
 7760|      0|        }
 7761|      0|    }
 7762|     11|    if (fo) { // Write updated dt_*.val
  ------------------
  |  Branch (7762:9): [True: 0, False: 11]
  ------------------
 7763|      0|        upx_uint64_t dyn_offo = get_te64(&phdro[dynhdr - phdri].p_offset);
 7764|      0|        fo->seek(dyn_offo, SEEK_SET);
 7765|      0|        fo->rewrite(ibuf, dyn_len);
 7766|      0|    }
 7767|     11|    if (is_asl) {
  ------------------
  |  Branch (7767:9): [True: 0, False: 11]
  ------------------
 7768|      0|        lowmem.alloc(xct_off);
 7769|      0|        fi->seek(0, SEEK_SET);
 7770|      0|        fi->read(lowmem, xct_off);  // contains relocation tables
 7771|      0|        if (dt_relasz && dt_rela) {
  ------------------
  |  Branch (7771:13): [True: 0, False: 0]
  |  Branch (7771:26): [True: 0, False: 0]
  ------------------
 7772|      0|            Elf64_Rela *const rela0 = (Elf64_Rela *)lowmem.subref(
 7773|      0|                "bad Rela offset", dt_rela, dt_relasz);
 7774|      0|            unRela64(dt_rela, rela0, dt_relasz, old_dtinit, fo);
 7775|      0|        }
 7776|      0|        if (dt_pltrelsz && dt_jmprel) { // FIXME:  overlap w/ DT_REL ?
  ------------------
  |  Branch (7776:13): [True: 0, False: 0]
  |  Branch (7776:28): [True: 0, False: 0]
  ------------------
 7777|      0|            Elf64_Rela *const jmp0 = (Elf64_Rela *)lowmem.subref(
 7778|      0|                "bad Jmprel offset", dt_jmprel, dt_pltrelsz);
 7779|      0|            jump_slots.alloc(n_plt * sizeof(upx_uint64_t));
 7780|      0|            Elf64_Phdr const *phdr = phdri;
 7781|      0|            for (unsigned j = 0; j < e_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7781:34): [True: 0, False: 0]
  |  Branch (7781:64): [True: 0, False: 0]
  ------------------
 7782|      0|                upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 7783|      0|                upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 7784|      0|                upx_uint64_t d = plt_va - vaddr;
 7785|      0|                if (d < filesz) {
  ------------------
  |  Branch (7785:21): [True: 0, False: 0]
  ------------------
 7786|      0|                    upx_uint64_t offset = get_te64(&phdr->p_offset);
 7787|      0|                    fi->seek(d + offset, SEEK_SET);
 7788|      0|                    fi->readx(jump_slots, n_plt * sizeof(upx_uint64_t));
 7789|      0|                    break;
 7790|      0|                }
 7791|      0|            }
 7792|      0|            unRela64(dt_jmprel, jmp0, dt_pltrelsz, old_dtinit, fo);
 7793|       |
 7794|      0|            Elf64_Ehdr const *const o_ehdr = (Elf64_Ehdr const *)(void *)lowmem;
 7795|      0|            unsigned const o_phnum = o_ehdr->e_phnum;
 7796|      0|            if (((1<<16) - sizeof(Elf64_Ehdr)) / sizeof(Elf64_Phdr) < o_phnum)
  ------------------
  |  Branch (7796:17): [True: 0, False: 0]
  ------------------
 7797|      0|                throwCantUnpack("bad Ehdr.e_phnum %#x", o_phnum);
 7798|      0|            phdr = phdro;
 7799|      0|            for (unsigned j = 0; j < o_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7799:34): [True: 0, False: 0]
  |  Branch (7799:64): [True: 0, False: 0]
  ------------------
 7800|      0|                upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 7801|      0|                upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 7802|      0|                upx_uint64_t d = plt_va - vaddr - asl_delta;
 7803|      0|                if (d < filesz) {
  ------------------
  |  Branch (7803:21): [True: 0, False: 0]
  ------------------
 7804|      0|                    upx_uint64_t offset = get_te64(&phdr->p_offset);
 7805|      0|                    if ((upx_uint64_t)file_size <= offset)
  ------------------
  |  Branch (7805:25): [True: 0, False: 0]
  ------------------
 7806|      0|                        throwCantUnpack("bad phdr[%d].p_offset %#zx", j, (size_t)offset);
 7807|      0|                    if (fo) {
  ------------------
  |  Branch (7807:25): [True: 0, False: 0]
  ------------------
 7808|      0|                        fo->seek(d + offset, SEEK_SET);
 7809|      0|                        fo->rewrite(jump_slots, n_plt * sizeof(upx_uint64_t));
 7810|      0|                    }
 7811|      0|                    break;
 7812|      0|                }
 7813|      0|            }
 7814|      0|        }
 7815|       |        // Modified relocation tables are re-written by unRela64
 7816|      0|    }
 7817|     11|}
_ZN14PackLinuxElf646unpackEP10OutputFile:
 7820|  1.42k|{
 7821|  1.42k|    if (e_phoff != sizeof(Elf64_Ehdr)) {// Phdrs not contiguous with Ehdr
  ------------------
  |  Branch (7821:9): [True: 0, False: 1.42k]
  ------------------
 7822|      0|        throwCantUnpack("bad e_phoff");
 7823|      0|    }
 7824|  1.42k|    unsigned const c_phnum = get_te16(&ehdri.e_phnum);
 7825|  1.42k|    unsigned u_phnum = 0;
 7826|  1.42k|    upx_uint64_t old_dtinit = 0;
 7827|       |
 7828|  1.42k|    if (Elf64_Ehdr::ET_EXEC == get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (7828:9): [True: 1.40k, False: 26]
  ------------------
 7829|       |// 40fddf17153ee3db73a04ff1bf288b91676138d6 2001-02-01 ph.version 11; b_info 12 bytes
 7830|       |// df9db96bd1c013c07da1d7ec740021d588ab2815 2001-01-17 ph.version 11; no b_info (==> 8 bytes)
 7831|  1.40k|        if (ph.version <= 11
  ------------------
  |  Branch (7831:13): [True: 51, False: 1.34k]
  ------------------
 7832|     51|        &&  get_te64(&ehdri.e_entry) < 0x401180
  ------------------
  |  Branch (7832:13): [True: 1, False: 50]
  ------------------
 7833|      1|        &&  get_te16(&ehdri.e_machine)==Elf64_Ehdr::EM_X86_64) {
  ------------------
  |  Branch (7833:13): [True: 1, False: 0]
  ------------------
 7834|       |            // old style, 8-byte b_info:
 7835|       |            // sizeof(b_info.sz_unc) + sizeof(b_info.sz_cpr);
 7836|      1|            szb_info = 2*sizeof(unsigned);
 7837|      1|        }
 7838|  1.40k|    }
 7839|       |
 7840|  1.42k|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7841|  1.42k|    fi->readx(&linfo, sizeof(linfo));
 7842|  1.42k|    if (UPX_MAGIC_LE32 != get_le32(&linfo.l_magic)) {
  ------------------
  |  |  537|  1.42k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7842:9): [True: 126, False: 1.30k]
  ------------------
 7843|    126|        NE32 const *const lp = (NE32 const *)(void const *)&linfo;
 7844|       |        // Workaround for bug of extra linfo by some asl_pack2_Shdrs().
 7845|    126|        if (0==lp[0] && 0==lp[1] && 0==lp[2]) { // looks like blank extra
  ------------------
  |  Branch (7845:13): [True: 73, False: 53]
  |  Branch (7845:25): [True: 50, False: 23]
  |  Branch (7845:37): [True: 6, False: 44]
  ------------------
 7846|      6|            fi->readx(&linfo, sizeof(linfo));
 7847|      6|            if (UPX_MAGIC_LE32 == get_le32(&linfo.l_magic)) {
  ------------------
  |  |  537|      6|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7847:17): [True: 1, False: 5]
  ------------------
 7848|      1|                overlay_offset += sizeof(linfo);
 7849|      1|            }
 7850|      5|            else {
 7851|      5|                throwCantUnpack("l_info corrupted");
 7852|      5|            }
 7853|      6|        }
 7854|    120|        else {
 7855|    120|            throwCantUnpack("l_info corrupted");
 7856|    120|        }
 7857|    126|    }
 7858|  1.30k|    lsize = get_te16(&linfo.l_lsize);
 7859|  1.30k|    p_info hbuf;  fi->readx(&hbuf, sizeof(hbuf));
 7860|  1.30k|    unsigned orig_file_size = get_te32(&hbuf.p_filesize);
 7861|  1.30k|    blocksize = get_te32(&hbuf.p_blocksize);
 7862|  1.30k|    if ((u32_t)file_size > orig_file_size || blocksize > orig_file_size
  ------------------
  |  Branch (7862:9): [True: 5, False: 1.29k]
  |  Branch (7862:46): [True: 25, False: 1.27k]
  ------------------
 7863|  1.27k|        || (orig_file_size >> 8) > (u32_t)file_size  // heuristic anti-fuzz
  ------------------
  |  Branch (7863:12): [True: 42, False: 1.22k]
  ------------------
 7864|  1.22k|        ||      (blocksize >> 8) > (u32_t)file_size
  ------------------
  |  Branch (7864:17): [True: 0, False: 1.22k]
  ------------------
 7865|  1.22k|        || !mem_size_valid(1, blocksize, OVERHEAD))
  ------------------
  |  Branch (7865:12): [True: 0, False: 1.22k]
  ------------------
 7866|     68|        throwCantUnpack("p_info corrupted");
 7867|       |
 7868|  1.23k|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 7869|  1.23k|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 7870|  1.23k|    fi->readx(&bhdr, szb_info);
 7871|  1.23k|    ph.u_len = get_te32(&bhdr.sz_unc);
 7872|  1.23k|    ph.c_len = get_te32(&bhdr.sz_cpr);
 7873|  1.23k|    ph.set_method(bhdr.b_method, overlay_offset + sizeof(p_info));
 7874|  1.23k|    if (ph.c_len > file_size_u || ph.c_len == 0 || ph.u_len == 0
  ------------------
  |  Branch (7874:9): [True: 23, False: 1.21k]
  |  Branch (7874:35): [True: 3, False: 1.20k]
  |  Branch (7874:52): [True: 1, False: 1.20k]
  ------------------
 7875|  1.20k|    ||  ph.u_len > orig_file_size)
  ------------------
  |  Branch (7875:9): [True: 42, False: 1.16k]
  ------------------
 7876|     62|        throwCantUnpack("b_info corrupted");
 7877|  1.17k|    ph.filter_cto = bhdr.b_cto8;
 7878|  1.17k|    prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 7879|       |
 7880|  1.17k|    MemBuffer u(ph.u_len);
 7881|  1.17k|    Elf64_Ehdr *const ehdr = (Elf64_Ehdr *)&u[0];
 7882|  1.17k|    Elf64_Phdr const *phdr = nullptr;
 7883|  1.17k|    total_in = 0;
 7884|  1.17k|    total_out = 0;
 7885|  1.17k|    unsigned c_adler = upx_adler32(nullptr, 0);
 7886|  1.17k|    unsigned u_adler = upx_adler32(nullptr, 0);
 7887|       |
 7888|  1.17k|    unsigned is_shlib = 0;
 7889|  1.17k|    loader_offset = 0;
 7890|  1.17k|    MemBuffer o_elfhdrs;
 7891|  1.17k|    Elf64_Phdr const *const dynhdr = elf_find_ptype(Elf64_Phdr::PT_DYNAMIC, phdri, c_phnum);
 7892|       |    // dynseg was set by PackLinuxElf64help1
 7893|  1.17k|    if (dynhdr && !(Elf64_Dyn::DF_1_PIE & elf_unsigned_dynamic(Elf64_Dyn::DT_FLAGS_1))) {
  ------------------
  |  Branch (7893:9): [True: 327, False: 844]
  |  Branch (7893:19): [True: 327, False: 0]
  ------------------
 7894|       |        // Packed shlib? (ET_DYN without -fPIE)
 7895|    327|        is_shlib = 1;
 7896|    327|        xct_off = overlay_offset - sizeof(l_info);
 7897|    327|        u_phnum = get_te16(&ehdri.e_phnum);
 7898|    327|        o_elfhdrs.alloc(sz_elf_hdrs);
 7899|    327|        un_shlib_1(fo, o_elfhdrs, c_adler, u_adler, orig_file_size);
 7900|    327|        *ehdr = ehdri;
 7901|    327|    }
 7902|    844|    else { // main executable
 7903|       |        // Uncompress Ehdr and Phdrs: info for control of unpacking
 7904|    844|        if (ibuf.getSize() < ph.c_len)
  ------------------
  |  Branch (7904:13): [True: 5, False: 839]
  ------------------
 7905|      5|            throwCompressedDataViolation();
 7906|       |
 7907|    839|        fi->readx(ibuf, ph.c_len);
 7908|       |        // "clickhouse" ET_EXEC for amd64 has 0x200000 <= .e_entry
 7909|       |        // instead of 0x400000 that we checked earlier.
 7910|    839|        if (8 == szb_info
  ------------------
  |  Branch (7910:13): [True: 0, False: 839]
  ------------------
 7911|      0|        &&  Elf64_Ehdr::EM_X86_64 == e_machine
  ------------------
  |  Branch (7911:13): [True: 0, False: 0]
  ------------------
 7912|      0|        &&  Elf64_Ehdr::ET_EXEC   == e_type
  ------------------
  |  Branch (7912:13): [True: 0, False: 0]
  ------------------
 7913|      0|        &&  ph.u_len <= MAX_ELF_HDR_64
  ------------------
  |  |    6|      0|#define MAX_ELF_HDR_64 4096
  ------------------
  |  Branch (7913:13): [True: 0, False: 0]
  ------------------
 7914|    839|        ) {
 7915|      0|            unsigned b_method = ibuf[0];
 7916|      0|            unsigned b_extra  = ibuf[3];
 7917|      0|            if (M_ZSTD >= b_method && 0 == b_extra) {
  ------------------
  |  |  631|      0|#define M_ZSTD        16 // NOT YET USED
  ------------------
  |  Branch (7917:17): [True: 0, False: 0]
  |  Branch (7917:39): [True: 0, False: 0]
  ------------------
 7918|      0|                unsigned where = fi->seek( -(upx_off_t)(ph.c_len + szb_info), SEEK_CUR);
 7919|      0|                szb_info = 12;
 7920|      0|                fi->readx(&bhdr, szb_info);
 7921|      0|                ph.filter_cto = bhdr.b_cto8;
 7922|      0|                ph.set_method(bhdr.b_method, where);
 7923|      0|                prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 7924|      0|                fi->readx(ibuf, ph.c_len);
 7925|      0|            }
 7926|      0|        }
 7927|    839|        if (ph.u_len < sizeof(*ehdr))
  ------------------
  |  Branch (7927:13): [True: 1, False: 838]
  ------------------
 7928|      1|            throwCantUnpack("ElfXX_Ehdr corrupted");
 7929|    838|        decompress(ibuf, (upx_byte *)ehdr, false);
 7930|    838|        if (ehdr->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7930:13): [True: 216, False: 622]
  ------------------
 7931|    622|        ||  ehdr->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7931:13): [True: 1, False: 621]
  ------------------
 7932|    621|        ||  ehdr->e_version!=ehdri.e_version
  ------------------
  |  Branch (7932:13): [True: 1, False: 620]
  ------------------
 7933|       |            // less strict for EM_PPC64 to workaround earlier bug
 7934|    620|        ||  !( ehdr->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7934:16): [True: 603, False: 17]
  ------------------
 7935|     17|            || Elf64_Ehdr::EM_PPC64 == get_te16(&ehdri.e_machine)
  ------------------
  |  Branch (7935:16): [True: 4, False: 13]
  ------------------
 7936|     13|            || Elf64_Ehdr::EM_RISCV == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7936:16): [True: 0, False: 13]
  ------------------
 7937|    607|        ||  ehdr->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7937:13): [True: 19, False: 588]
  ------------------
 7938|       |            // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7939|    588|        ||  memcmp(ehdr->e_ident, ehdri.e_ident, Elf64_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7939:13): [True: 11, False: 577]
  ------------------
 7940|     47|            throwCantUnpack("ElfXX_Ehdr corrupted");
 7941|     47|        }
 7942|       |        // Rewind: prepare for data phase
 7943|    791|        fi->seek(- (off_t) (szb_info + ph.c_len), SEEK_CUR);
 7944|       |
 7945|    791|        u_phnum = get_te16(&ehdr->e_phnum);
 7946|    791|        if ((umin((unsigned)MAX_ELF_HDR_64, ph.u_len) - sizeof(Elf64_Ehdr))/sizeof(Elf64_Phdr) < u_phnum) {
  ------------------
  |  |    6|    791|#define MAX_ELF_HDR_64 4096
  ------------------
  |  Branch (7946:13): [True: 1, False: 790]
  ------------------
 7947|      1|            throwCantUnpack("bad compressed e_phnum");
 7948|      1|        }
 7949|    790|        o_elfhdrs.alloc(sizeof(Elf64_Ehdr) + u_phnum * sizeof(Elf64_Phdr));
 7950|    790|        memcpy(o_elfhdrs, ehdr, o_elfhdrs.getSize());
 7951|       |
 7952|       |        // Decompress each PT_LOAD.
 7953|    790|        bool first_PF_X = true;
 7954|    790|        phdr = (Elf64_Phdr *) (void *) (1+ ehdr);  // uncompressed
 7955|  3.58k|        for (unsigned j=0; j < u_phnum; ++phdr, ++j) {
  ------------------
  |  Branch (7955:28): [True: 2.79k, False: 790]
  ------------------
 7956|  2.79k|            if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7956:17): [True: 254, False: 2.53k]
  ------------------
 7957|    254|                unsigned const filesz = get_te64(&phdr->p_filesz);
 7958|    254|                unsigned const offset = get_te64(&phdr->p_offset);
 7959|    254|                if (fo) {
  ------------------
  |  Branch (7959:21): [True: 254, False: 0]
  ------------------
 7960|    254|                    fo->seek(offset, SEEK_SET);
 7961|    254|                    if (total_out < offset) {
  ------------------
  |  Branch (7961:25): [True: 121, False: 133]
  ------------------
 7962|    121|                        total_out = offset;  // FIXME: can it be re-write?
 7963|    121|                    }
 7964|    254|                }
 7965|    254|                if (Elf64_Phdr::PF_X & get_te32(&phdr->p_flags)) {
  ------------------
  |  Branch (7965:21): [True: 129, False: 125]
  ------------------
 7966|    129|                    unpackExtent(filesz, fo,
 7967|    129|                        c_adler, u_adler, first_PF_X);
 7968|    129|                    first_PF_X = false;
 7969|    129|                }
 7970|    125|                else {
 7971|    125|                    unpackExtent(filesz, fo,
 7972|    125|                        c_adler, u_adler, false);
 7973|    125|                }
 7974|    254|            }
 7975|  2.79k|        }
 7976|    790|    }
 7977|       |
 7978|  1.11k|    upx_uint64_t const e_entry = get_te64(&ehdri.e_entry);
 7979|  1.11k|    unsigned off_entry = 0;
 7980|  1.11k|    phdr = phdri;
 7981|  1.11k|    load_va = 0;
 7982|  5.13k|    for (unsigned j=0; j < c_phnum; ++j, ++phdr) {
  ------------------
  |  Branch (7982:24): [True: 4.23k, False: 896]
  ------------------
 7983|  4.23k|        if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7983:13): [True: 623, False: 3.61k]
  ------------------
 7984|    623|            upx_uint64_t offset = get_te64(&phdr->p_offset);
 7985|    623|            upx_uint64_t vaddr  = get_te64(&phdr->p_vaddr);
 7986|    623|            upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 7987|    623|            if (!load_va) {
  ------------------
  |  Branch (7987:17): [True: 309, False: 314]
  ------------------
 7988|    309|                load_va = vaddr;
 7989|    309|            }
 7990|    623|            if ((e_entry - vaddr) < filesz) {
  ------------------
  |  Branch (7990:17): [True: 221, False: 402]
  ------------------
 7991|    221|                off_entry = (e_entry - vaddr) + offset;
 7992|    221|                break;
 7993|    221|            }
 7994|    623|        }
 7995|  4.23k|    }
 7996|  1.11k|    unsigned d_info[6];
 7997|  1.11k|    unsigned sz_d_info = sizeof(d_info);
 7998|  1.11k|    if (!is_shlib) {
  ------------------
  |  Branch (7998:9): [True: 512, False: 605]
  ------------------
 7999|    512|        if (get_te32(&phdri[0].p_flags) & Elf64_Phdr::PF_X) {
  ------------------
  |  Branch (7999:13): [True: 96, False: 416]
  ------------------
 8000|       |            // Old style, such as upx-3.91 thru upx-3.95
 8001|     96|            switch (this->e_machine) {
 8002|      0|                default: {
  ------------------
  |  Branch (8002:17): [True: 0, False: 96]
  ------------------
 8003|      0|                    char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 8004|      0|                        "Unknown architecture %d", this->e_machine);
 8005|      0|                    throwCantUnpack(msg);
 8006|      0|                }; break;
 8007|      2|                case Elf64_Ehdr::EM_AARCH64: sz_d_info = 4 * sizeof(unsigned); break;
  ------------------
  |  Branch (8007:17): [True: 2, False: 94]
  ------------------
 8008|      2|                case Elf64_Ehdr::EM_PPC64:   sz_d_info = 3 * sizeof(unsigned); break;
  ------------------
  |  Branch (8008:17): [True: 2, False: 94]
  ------------------
 8009|     92|                case Elf64_Ehdr::EM_X86_64:  sz_d_info = 2 * sizeof(unsigned); break;
  ------------------
  |  Branch (8009:17): [True: 92, False: 4]
  ------------------
 8010|     96|            }
 8011|     96|        }
 8012|    512|        loader_offset = off_entry - sz_d_info;
 8013|    512|    }
 8014|       |
 8015|  1.11k|    if (0x1000==get_te64(&phdri[0].p_filesz)  // detect C_BASE style
  ------------------
  |  Branch (8015:9): [True: 263, False: 854]
  ------------------
 8016|    263|    &&  0==get_te64(&phdri[1].p_offset)
  ------------------
  |  Branch (8016:9): [True: 187, False: 76]
  ------------------
 8017|    187|    &&  0==get_te64(&phdri[0].p_offset)
  ------------------
  |  Branch (8017:9): [True: 107, False: 80]
  ------------------
 8018|    107|    &&     get_te64(&phdri[1].p_filesz) == get_te64(&phdri[1].p_memsz)) {
  ------------------
  |  Branch (8018:12): [True: 17, False: 90]
  ------------------
 8019|     17|        fi->seek(up4(get_te64(&phdri[1].p_memsz)), SEEK_SET);  // past the loader
 8020|     17|    }
 8021|  1.10k|    else if (is_shlib
  ------------------
  |  Branch (8021:14): [True: 605, False: 495]
  ------------------
 8022|    495|    ||  (off_entry + up4(lsize) + ph.getPackHeaderSize() + sizeof(overlay_offset))
  ------------------
  |  Branch (8022:9): [True: 131, False: 364]
  ------------------
 8023|    495|            < up4(file_size)) {
 8024|       |        // Loader is not at end; skip past it.
 8025|    163|        if (loader_offset) {
  ------------------
  |  Branch (8025:13): [True: 159, False: 4]
  ------------------
 8026|    159|            fi->seek(loader_offset, SEEK_SET);
 8027|    159|        }
 8028|      4|        else {
 8029|      4|            funpad4(fi);  // MATCH01
 8030|      4|        }
 8031|    163|        fi->readx(d_info, sz_d_info);
 8032|    163|        if (is_shlib && 0==old_dtinit) {
  ------------------
  |  Branch (8032:13): [True: 32, False: 131]
  |  Branch (8032:25): [True: 32, False: 0]
  ------------------
 8033|     32|            old_dtinit = get_te32(&d_info[2 + (0==d_info[0])]);
 8034|     32|            is_asl = 1u& get_te32(&d_info[0 + (0==d_info[0])]);
 8035|     32|        }
 8036|    163|        fi->seek(lsize - sz_d_info, SEEK_CUR);
 8037|    163|    }
 8038|       |
 8039|       |    // The gaps between PT_LOAD and after last PT_LOAD
 8040|  1.11k|    phdr = (Elf64_Phdr const *)(1+ (Elf64_Ehdr const *)(void const *)o_elfhdrs);
 8041|  1.11k|    upx_uint64_t hi_offset(0);
 8042|  3.72k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (8042:26): [True: 2.60k, False: 1.11k]
  ------------------
 8043|  2.60k|        upx_uint64_t const offset = get_te64(&phdr[j].p_offset);
 8044|  2.60k|        if (is_LOAD(&phdr[j])
  ------------------
  |  Branch (8044:13): [True: 188, False: 2.42k]
  ------------------
 8045|    188|        &&  hi_offset < offset) {
  ------------------
  |  Branch (8045:13): [True: 118, False: 70]
  ------------------
 8046|    118|            hi_offset = offset;
 8047|    118|        }
 8048|  2.60k|    }
 8049|  3.50k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (8049:26): [True: 2.41k, False: 1.09k]
  ------------------
 8050|  2.41k|        unsigned const size = find_LOAD_gap(phdr, j, u_phnum);
 8051|  2.41k|        if (size) {
  ------------------
  |  Branch (8051:13): [True: 122, False: 2.29k]
  ------------------
 8052|    122|            unsigned const where = get_te64(&phdr[j].p_offset) +
 8053|    122|                                   get_te64(&phdr[j].p_filesz);
 8054|    122|            if (fo)
  ------------------
  |  Branch (8054:17): [True: 122, False: 0]
  ------------------
 8055|    122|                fo->seek(where, SEEK_SET);
 8056|    122|            { // Recover from some piracy [also serves as error tolerance :-) ]
 8057|       |              // Getting past the loader is problematic, due to unintended
 8058|       |              // variances between released versions:
 8059|       |              //   l_info.l_lsize might be rounded up by 8 instead of by 4, and
 8060|       |              //   sz_d_info might have changed.
 8061|    122|                b_info b_peek, *bp = &b_peek;
 8062|    122|                fi->readx(bp, sizeof(b_peek));
 8063|    122|                upx_off_t pos = fi->seek(-(off_t)sizeof(b_peek), SEEK_CUR);
 8064|    122|                unsigned sz_unc = get_te32(&bp->sz_unc);
 8065|    122|                unsigned sz_cpr = get_te32(&bp->sz_cpr);
 8066|    122|                unsigned word3  = get_te32(&bp->b_method);
 8067|    122|                unsigned method = bp->b_method;
 8068|    122|                unsigned ftid = bp->b_ftid;
 8069|    122|                unsigned cto8 = bp->b_cto8;
 8070|    122|                if (!( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (8070:25): [True: 4, False: 118]
  |  Branch (8070:47): [True: 3, False: 1]
  |  Branch (8070:63): [True: 0, False: 3]
  ------------------
 8071|    122|                    || ((sz_cpr <  sz_unc)
  ------------------
  |  Branch (8071:25): [True: 91, False: 31]
  ------------------
 8072|     91|                        && (method == prev_method || M_NRV2B_LE32 == prev_method)
  ------------------
  |  |  617|     29|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (8072:29): [True: 62, False: 29]
  |  Branch (8072:54): [True: 0, False: 29]
  ------------------
 8073|     62|                        && (0 == ftid) && (0 == cto8)) )
  ------------------
  |  Branch (8073:28): [True: 61, False: 1]
  |  Branch (8073:43): [True: 60, False: 1]
  ------------------
 8074|    122|                ) {
 8075|     62|                    opt->info_mode++;
 8076|     62|                    infoWarning("bad b_info at %#zx", (size_t)pos);
 8077|     62|                    unsigned const N_PEEK(16 * sizeof(int)), H_PEEK(N_PEEK >> 1);
 8078|     62|                    unsigned char peek_arr[N_PEEK];
 8079|     62|                    fi->seek(pos - H_PEEK, SEEK_SET);
 8080|     62|                    fi->readx(peek_arr, sizeof(peek_arr));
 8081|     62|                    fi->seek(pos, SEEK_SET);
 8082|     62|                    bool const is_be = ELFDATA2MSB == ehdri.e_ident[EI_DATA];
 8083|     62|                    if (is_be) {
  ------------------
  |  Branch (8083:25): [True: 6, False: 56]
  ------------------
 8084|       |                        // Does the right thing for sz_unc and sz_cpr,
 8085|       |                        // but swaps b_method and b_extra.  Need find_be32() :-)
 8086|    102|                        for (unsigned k = 0; k < N_PEEK; k += sizeof(int)) {
  ------------------
  |  Branch (8086:46): [True: 96, False: 6]
  ------------------
 8087|     96|                            set_le32(&peek_arr[k], get_be32(&peek_arr[k]));
 8088|     96|                        }
 8089|      6|                    }
 8090|     62|                    int boff = find_le32(peek_arr, sizeof(peek_arr), size);
 8091|     62|                    if (boff < 0
  ------------------
  |  Branch (8091:25): [True: 25, False: 37]
  ------------------
 8092|     37|                    || sizeof(peek_arr) < (boff + sizeof(b_info))) {
  ------------------
  |  Branch (8092:24): [True: 2, False: 35]
  ------------------
 8093|     27|                        throwCantUnpack("b_info corrupted");
 8094|     27|                    }
 8095|     35|                    bp = (b_info *)(void *)&peek_arr[boff];
 8096|       |
 8097|     35|                    sz_unc = get_le32(&bp->sz_unc);
 8098|     35|                    sz_cpr = get_le32(&bp->sz_cpr);
 8099|     35|                    word3  = get_le32(&bp->b_method);
 8100|     35|                    ftid = bp->b_ftid;
 8101|     35|                    cto8 = bp->b_cto8;
 8102|     35|                    if (0 <= boff  // found
  ------------------
  |  Branch (8102:25): [True: 35, False: 0]
  ------------------
 8103|     35|                    && ( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (8103:27): [True: 0, False: 35]
  |  Branch (8103:49): [True: 0, False: 0]
  |  Branch (8103:65): [True: 0, False: 0]
  ------------------
 8104|     35|                      || ((sz_cpr <  sz_unc) && (0 == ftid) && (0 == cto8)
  ------------------
  |  Branch (8104:27): [True: 22, False: 13]
  |  Branch (8104:49): [True: 21, False: 1]
  |  Branch (8104:64): [True: 18, False: 3]
  ------------------
 8105|     18|                          && ((is_be ? bp->b_extra : bp->b_method) == prev_method)) )
  ------------------
  |  Branch (8105:30): [True: 17, False: 1]
  |  Branch (8105:32): [True: 3, False: 15]
  ------------------
 8106|     35|                    ) {
 8107|     17|                        pos -= H_PEEK;
 8108|     17|                        pos += boff;
 8109|     17|                        infoWarning("... recovery at %#zx", (size_t)pos);
 8110|     17|                        fi->seek(pos, SEEK_SET);
 8111|     17|                    }
 8112|     35|                    opt->info_mode--;
 8113|     35|                }
 8114|    122|            }
 8115|     95|            unpackExtent(size, fo,
 8116|     95|                c_adler, u_adler, false,
 8117|     95|                (hi_offset != get_te64(&phdr[j].p_offset)));
 8118|     95|        }
 8119|  2.41k|    }
 8120|       |
 8121|       |    // check for end-of-file
 8122|  1.09k|    fi->readx(&bhdr, szb_info);
 8123|  1.09k|    ph.set_method(bhdr.b_method, ~0u);
 8124|  1.09k|    unsigned const sz_unc = ph.u_len = get_te32(&bhdr.sz_unc);
 8125|       |
 8126|  1.09k|    if (sz_unc == 0) { // uncompressed size 0 -> EOF
  ------------------
  |  Branch (8126:9): [True: 59, False: 1.03k]
  ------------------
 8127|       |        // note: magic is always stored le32
 8128|     59|        unsigned const sz_cpr = get_le32(&bhdr.sz_cpr);
 8129|     59|        if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  537|     59|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (8129:13): [True: 31, False: 28]
  ------------------
 8130|     31|            throwCompressedDataViolation();
 8131|     59|    }
 8132|  1.03k|    else { // extra bytes after end?
 8133|  1.03k|        throwCompressedDataViolation();
 8134|  1.03k|    }
 8135|       |
 8136|     28|    if (is_shlib) {
  ------------------
  |  Branch (8136:9): [True: 12, False: 16]
  ------------------
 8137|     12|        un_DT_INIT(old_dtinit, (Elf64_Phdr *)(1+ (Elf64_Ehdr *)(void *)o_elfhdrs), dynhdr, fo);
 8138|     12|    }
 8139|       |
 8140|       |    // update header with totals
 8141|     28|    ph.c_len = total_in;
 8142|     28|    ph.u_len = total_out;
 8143|       |
 8144|       |    // all bytes must be written
 8145|     28|    if (fo && total_out != orig_file_size)
  ------------------
  |  Branch (8145:9): [True: 16, False: 12]
  |  Branch (8145:15): [True: 1, False: 15]
  ------------------
 8146|      1|        throwEOFException();
 8147|       |
 8148|       |    // finally test the checksums
 8149|     27|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (8149:9): [True: 13, False: 14]
  |  Branch (8149:34): [True: 1, False: 13]
  ------------------
 8150|      2|        throwChecksumError();
 8151|     27|}
_ZN17PackLinuxElf32x86C2EP9InputFile:
 8158|  58.0k|PackLinuxElf32x86::PackLinuxElf32x86(InputFile *f) : super(f)
 8159|  58.0k|{
 8160|  58.0k|    e_machine = Elf32_Ehdr::EM_386;
 8161|  58.0k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8162|  58.0k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8163|  58.0k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8164|  58.0k|}
_ZN17PackLinuxElf32x86D2Ev:
 8167|  57.7k|{
 8168|  57.7k|}
_ZN17PackLinuxElf32x869canUnpackEv:
 8171|  57.7k|{
 8172|  57.7k|    if (super::canUnpack()) {
  ------------------
  |  Branch (8172:9): [True: 1.23k, False: 56.5k]
  ------------------
 8173|  1.23k|        return true;
 8174|  1.23k|    }
 8175|  56.5k|    return false;
 8176|  57.7k|}
_ZN15PackBSDElf32x86C2EP9InputFile:
 8183|  29.1k|PackBSDElf32x86::PackBSDElf32x86(InputFile *f) : super(f)
 8184|  29.1k|{
 8185|  29.1k|    e_machine = Elf32_Ehdr::EM_386;
 8186|  29.1k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8187|  29.1k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8188|  29.1k|}
_ZN19PackFreeBSDElf32x86C2EP9InputFile:
 8194|  14.7k|PackFreeBSDElf32x86::PackFreeBSDElf32x86(InputFile *f) : super(f)
 8195|  14.7k|{
 8196|  14.7k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_FREEBSD;
 8197|  14.7k|}
_ZN18PackNetBSDElf32x86C2EP9InputFile:
 8203|  14.4k|PackNetBSDElf32x86::PackNetBSDElf32x86(InputFile *f) : super(f)
 8204|  14.4k|{
 8205|  14.4k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_NETBSD;
 8206|  14.4k|    osabi_note = "NetBSD";
 8207|  14.4k|}
_ZN19PackOpenBSDElf32x86C2EP9InputFile:
 8213|  14.4k|PackOpenBSDElf32x86::PackOpenBSDElf32x86(InputFile *f) : super(f)
 8214|  14.4k|{
 8215|  14.4k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_OPENBSD;
 8216|  14.4k|    osabi_note = "OpenBSD";
 8217|  14.4k|}
_ZN19PackLinuxElf32armLeC2EP9InputFile:
 8248|  10.6k|PackLinuxElf32armLe::PackLinuxElf32armLe(InputFile *f) : super(f)
 8249|  10.6k|{
 8250|  10.6k|    e_machine = Elf32_Ehdr::EM_ARM;
 8251|  10.6k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8252|  10.6k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8253|  10.6k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_ARM;
 8254|  10.6k|}
_ZN19PackLinuxElf32armLeD2Ev:
 8257|  10.6k|{
 8258|  10.6k|}
_ZN20PackLinuxElf32mipsebC2EP9InputFile:
 8260|  7.59k|PackLinuxElf32mipseb::PackLinuxElf32mipseb(InputFile *f) : super(f)
 8261|  7.59k|{
 8262|  7.59k|    e_machine = Elf32_Ehdr::EM_MIPS;
 8263|  7.59k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8264|  7.59k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 8265|  7.59k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8266|  7.59k|}
_ZN20PackLinuxElf32mipsebD2Ev:
 8269|  7.59k|{
 8270|  7.59k|}
_ZN20PackLinuxElf32mipselC2EP9InputFile:
 8272|  7.61k|PackLinuxElf32mipsel::PackLinuxElf32mipsel(InputFile *f) : super(f)
 8273|  7.61k|{
 8274|  7.61k|    e_machine = Elf32_Ehdr::EM_MIPS;
 8275|  7.61k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8276|  7.61k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8277|  7.61k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8278|  7.61k|}
_ZN20PackLinuxElf32mipselD2Ev:
 8281|  7.61k|{
 8282|  7.61k|}
_ZN19PackLinuxElf32armBeC2EP9InputFile:
 8299|  10.6k|PackLinuxElf32armBe::PackLinuxElf32armBe(InputFile *f) : super(f)
 8300|  10.6k|{
 8301|  10.6k|    e_machine = Elf32_Ehdr::EM_ARM;
 8302|  10.6k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8303|  10.6k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 8304|  10.6k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_ARM;
 8305|  10.6k|}
_ZN19PackLinuxElf32armBeD2Ev:
 8308|  9.52k|{
 8309|  9.52k|}
_ZNK14PackLinuxElf3227elf_get_offset_from_addressEj:
 8318|  4.03k|{
 8319|  4.03k|    return elf_get_offset_from_Phdrs(addr, phdri);
 8320|  4.03k|}
_ZNK14PackLinuxElf3225elf_get_offset_from_PhdrsEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8324|  4.03k|{
 8325|  4.03k|    Elf32_Phdr const *phdr = phdr0;
 8326|  4.03k|    int j = e_phnum;
 8327|  17.0k|    for (; --j>=0; ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (8327:12): [True: 16.9k, False: 108]
  |  Branch (8327:32): [True: 5.27k, False: 11.6k]
  ------------------
 8328|  5.27k|        unsigned const t = addr - get_te32(&phdr->p_vaddr);
 8329|  5.27k|        if (t < get_te32(&phdr->p_filesz)) {
  ------------------
  |  Branch (8329:13): [True: 3.92k, False: 1.34k]
  ------------------
 8330|  3.92k|            unsigned const p_offset = get_te32(&phdr->p_offset);
 8331|  3.92k|            if (file_size_u <= p_offset) { // FIXME: weak
  ------------------
  |  Branch (8331:17): [True: 42, False: 3.88k]
  ------------------
 8332|     42|                char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     42|#define snprintf  upx_safe_snprintf
  ------------------
 8333|     42|                    "bad Elf32_Phdr[%d].p_offset %x",
 8334|     42|                    -1+ e_phnum - j, p_offset);
 8335|     42|                throwCantPack(msg);
 8336|     42|            }
 8337|  3.88k|            return t + p_offset;
 8338|  3.92k|        }
 8339|  5.27k|    }
 8340|    108|    return 0;
 8341|  4.03k|}
_ZN14PackLinuxElf3213check_pt_loadEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8345|  1.87k|{
 8346|  1.87k|    u32_t filesz = get_te32(&phdr->p_filesz);
 8347|  1.87k|    u32_t offset = get_te32(&phdr->p_offset), offend = filesz + offset;
 8348|  1.87k|    u32_t vaddr  = get_te32(&phdr->p_vaddr);
 8349|  1.87k|    u32_t paddr  = get_te32(&phdr->p_paddr);
 8350|  1.87k|    u32_t align  = get_te32(&phdr->p_align);
 8351|       |
 8352|  1.87k|    if ((-1+ align) & (paddr ^ vaddr)
  ------------------
  |  Branch (8352:9): [True: 45, False: 1.82k]
  ------------------
 8353|  1.82k|    ||  file_size_u32 <= (u32_t)offset
  ------------------
  |  Branch (8353:9): [True: 29, False: 1.79k]
  ------------------
 8354|  1.79k|    ||  file_size_u32 <  (u32_t)offend
  ------------------
  |  Branch (8354:9): [True: 39, False: 1.75k]
  ------------------
 8355|  1.75k|    ||  file_size_u32 <  (u32_t)filesz) {
  ------------------
  |  Branch (8355:9): [True: 24, False: 1.73k]
  ------------------
 8356|    137|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_LOAD phdr[%u]",
  ------------------
  |  |   75|    137|#define snprintf  upx_safe_snprintf
  ------------------
 8357|    137|            (unsigned)(phdr - phdri));
 8358|    137|        throwCantPack(msg);
 8359|    137|    }
 8360|  1.73k|    return offset;
 8361|  1.87k|}
_ZN14PackLinuxElf3216check_pt_dynamicEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8376|  1.34k|{
 8377|  1.34k|    unsigned t = get_te32(&phdr->p_offset), s = sizeof(Elf32_Dyn) + t;
 8378|  1.34k|    unsigned vaddr = get_te32(&phdr->p_vaddr);
 8379|  1.34k|    unsigned filesz = get_te32(&phdr->p_filesz), memsz = get_te32(&phdr->p_memsz);
 8380|  1.34k|    unsigned align = get_te32(&phdr->p_align);
 8381|  1.34k|    if (file_size_u < t || s < t
  ------------------
  |  Branch (8381:9): [True: 19, False: 1.32k]
  |  Branch (8381:28): [True: 0, False: 1.32k]
  ------------------
 8382|  1.32k|    ||  file_size_u < filesz
  ------------------
  |  Branch (8382:9): [True: 25, False: 1.30k]
  ------------------
 8383|  1.30k|    ||  file_size_u < (filesz + t)
  ------------------
  |  Branch (8383:9): [True: 5, False: 1.29k]
  ------------------
 8384|  1.29k|    ||  t < (e_phnum*sizeof(Elf32_Phdr) + sizeof(Elf32_Ehdr))
  ------------------
  |  Branch (8384:9): [True: 14, False: 1.28k]
  ------------------
 8385|  1.28k|    ||  (3 & t) || (7 & (filesz | memsz))  // .balign 4; 8==sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8385:9): [True: 4, False: 1.28k]
  |  Branch (8385:20): [True: 2, False: 1.27k]
  ------------------
 8386|  1.27k|    ||  (-1+ align) & (t ^ vaddr)
  ------------------
  |  Branch (8386:9): [True: 5, False: 1.27k]
  ------------------
 8387|  1.27k|    ||  file_size_u <= memsz
  ------------------
  |  Branch (8387:9): [True: 26, False: 1.24k]
  ------------------
 8388|  1.24k|    ||  filesz < sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8388:9): [True: 1, False: 1.24k]
  ------------------
 8389|  1.24k|    ||  memsz  < sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8389:9): [True: 4, False: 1.24k]
  ------------------
 8390|  1.24k|    ||  filesz < memsz) {
  ------------------
  |  Branch (8390:9): [True: 7, False: 1.23k]
  ------------------
 8391|    112|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_DYNAMIC phdr[%u]",
  ------------------
  |  |   75|    112|#define snprintf  upx_safe_snprintf
  ------------------
 8392|    112|            (unsigned)(phdr - phdri));
 8393|    112|        throwCantPack(msg);
 8394|    112|    }
 8395|  1.23k|    sz_dynseg = memsz;
 8396|  1.23k|    return t;
 8397|  1.34k|}
_ZNK14PackLinuxElf3215elf_find_dynptrEj:
 8400|  11.8k|{
 8401|  11.8k|    Elf32_Dyn *dynp= dynseg;
 8402|  11.8k|    if (dynp) {
  ------------------
  |  Branch (8402:9): [True: 8.30k, False: 3.58k]
  ------------------
 8403|  8.30k|        Elf32_Dyn *const last = (Elf32_Dyn *)(sz_dynseg + (char *)dynseg);
 8404|   117k|        for (; dynp < last; ++dynp) {
  ------------------
  |  Branch (8404:16): [True: 115k, False: 1.71k]
  ------------------
 8405|   115k|            if (get_te32(&dynp->d_tag)==key) {
  ------------------
  |  Branch (8405:17): [True: 3.38k, False: 112k]
  ------------------
 8406|  3.38k|                return dynp;
 8407|  3.38k|            }
 8408|   112k|            if (Elf32_Dyn::DT_NULL == dynp->d_tag) {
  ------------------
  |  Branch (8408:17): [True: 3.20k, False: 109k]
  ------------------
 8409|  3.20k|                return nullptr;
 8410|  3.20k|            }
 8411|   112k|        }
 8412|  8.30k|    }
 8413|  5.29k|    return nullptr;
 8414|  11.8k|}
_ZNK14PackLinuxElf6415elf_find_dynptrEj:
 8417|  8.79k|{
 8418|  8.79k|    Elf64_Dyn *dynp= dynseg;
 8419|  8.79k|    if (dynp) {
  ------------------
  |  Branch (8419:9): [True: 7.50k, False: 1.29k]
  ------------------
 8420|  7.50k|        Elf64_Dyn *const last = (Elf64_Dyn *)(sz_dynseg + (char *)dynseg);
 8421|  75.9k|        for (; dynp < last; ++dynp) {
  ------------------
  |  Branch (8421:16): [True: 75.2k, False: 663]
  ------------------
 8422|  75.2k|            if (get_te64(&dynp->d_tag)==key) {
  ------------------
  |  Branch (8422:17): [True: 2.68k, False: 72.6k]
  ------------------
 8423|  2.68k|                return dynp;
 8424|  2.68k|            }
 8425|  72.6k|            if (Elf64_Dyn::DT_NULL == dynp->d_tag) {
  ------------------
  |  Branch (8425:17): [True: 4.16k, False: 68.4k]
  ------------------
 8426|  4.16k|                return nullptr;
 8427|  4.16k|            }
 8428|  72.6k|        }
 8429|  7.50k|    }
 8430|  1.95k|    return nullptr;
 8431|  8.79k|}
_ZNK14PackLinuxElf3216elf_find_dynamicEj:
 8435|  6.06k|{
 8436|  6.06k|    Elf32_Dyn const *dynp= elf_find_dynptr(key);
 8437|  6.06k|    if (dynp) {
  ------------------
  |  Branch (8437:9): [True: 2.01k, False: 4.04k]
  ------------------
 8438|  2.01k|        unsigned const t= elf_get_offset_from_address(get_te32(&dynp->d_val));
 8439|  2.01k|        if (t && t < file_size_u) {
  ------------------
  |  Branch (8439:13): [True: 1.87k, False: 147]
  |  Branch (8439:18): [True: 1.81k, False: 56]
  ------------------
 8440|  1.81k|            return t + file_image;
 8441|  1.81k|        }
 8442|  2.01k|    }
 8443|  4.24k|    return nullptr;
 8444|  6.06k|}
_ZNK14PackLinuxElf6416elf_find_dynamicEj:
 8448|  3.28k|{
 8449|  3.28k|    Elf64_Dyn const *dynp= elf_find_dynptr(key);
 8450|  3.28k|    if (dynp) {
  ------------------
  |  Branch (8450:9): [True: 1.58k, False: 1.69k]
  ------------------
 8451|  1.58k|        upx_uint64_t const t= elf_get_offset_from_address(get_te64(&dynp->d_val));
 8452|  1.58k|        if (t && t < file_size_u) {
  ------------------
  |  Branch (8452:13): [True: 1.48k, False: 102]
  |  Branch (8452:18): [True: 1.38k, False: 99]
  ------------------
 8453|  1.38k|            return t + file_image;
 8454|  1.38k|        }
 8455|  1.58k|    }
 8456|  1.89k|    return nullptr;
 8457|  3.28k|}
_ZNK14PackLinuxElf6420elf_unsigned_dynamicEj:
 8461|  5.51k|{
 8462|  5.51k|    Elf64_Dyn const *dynp= elf_find_dynptr(key);
 8463|  5.51k|    if (dynp) {
  ------------------
  |  Branch (8463:9): [True: 1.09k, False: 4.41k]
  ------------------
 8464|  1.09k|        return get_te64(&dynp->d_val);
 8465|  1.09k|    }
 8466|  4.41k|    return 0;
 8467|  5.51k|}
_ZNK14PackLinuxElf3220elf_unsigned_dynamicEj:
 8471|  5.82k|{
 8472|  5.82k|    Elf32_Dyn const *dynp= elf_find_dynptr(key);
 8473|  5.82k|    if (dynp) {
  ------------------
  |  Branch (8473:9): [True: 1.36k, False: 4.46k]
  ------------------
 8474|  1.36k|        return get_te32(&dynp->d_val);
 8475|  1.36k|    }
 8476|  4.46k|    return 0;
 8477|  5.82k|}
_ZNK14PackLinuxElf6427elf_get_offset_from_addressEy:
 8481|  3.48k|{
 8482|  3.48k|    Elf64_Phdr const *phdr = phdri;
 8483|  3.48k|    int j = e_phnum;
 8484|  16.4k|    for (; --j>=0; ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (8484:12): [True: 16.3k, False: 59]
  |  Branch (8484:32): [True: 4.47k, False: 11.8k]
  ------------------
 8485|  4.47k|        upx_uint64_t const t = addr - get_te64(&phdr->p_vaddr);
 8486|  4.47k|        if (t < get_te64(&phdr->p_filesz)) {
  ------------------
  |  Branch (8486:13): [True: 3.42k, False: 1.04k]
  ------------------
 8487|  3.42k|            upx_uint64_t const p_offset = get_te64(&phdr->p_offset);
 8488|  3.42k|            if (file_size_u <= p_offset) { // FIXME: weak
  ------------------
  |  Branch (8488:17): [True: 65, False: 3.36k]
  ------------------
 8489|     65|                char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     65|#define snprintf  upx_safe_snprintf
  ------------------
 8490|     65|                    "bad Elf64_Phdr[%d].p_offset %#lx",
 8491|     65|                    -1+ e_phnum - j, (long unsigned)p_offset);
 8492|     65|                throwCantPack(msg);
 8493|     65|            }
 8494|  3.36k|            return t + p_offset;
 8495|  3.42k|        }
 8496|  4.47k|    }
 8497|     59|    return 0;
 8498|  3.48k|}
_ZN14PackLinuxElf6413check_pt_loadEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
 8502|  1.35k|{
 8503|  1.35k|    u64_t filesz = get_te64(&phdr->p_filesz);
 8504|  1.35k|    u64_t offset = get_te64(&phdr->p_offset), offend = filesz + offset;
 8505|  1.35k|    u64_t vaddr  = get_te64(&phdr->p_vaddr);
 8506|  1.35k|    u64_t paddr  = get_te64(&phdr->p_paddr);
 8507|  1.35k|    u64_t align  = get_te64(&phdr->p_align);
 8508|       |
 8509|  1.35k|    if ((-1+ align) & (paddr ^ vaddr)
  ------------------
  |  Branch (8509:9): [True: 71, False: 1.28k]
  ------------------
 8510|  1.28k|    ||  file_size_u <= (u64_t)offset
  ------------------
  |  Branch (8510:9): [True: 62, False: 1.22k]
  ------------------
 8511|  1.22k|    ||  file_size_u <  (u64_t)offend
  ------------------
  |  Branch (8511:9): [True: 72, False: 1.15k]
  ------------------
 8512|  1.15k|    ||  file_size_u <  (u64_t)filesz) {
  ------------------
  |  Branch (8512:9): [True: 11, False: 1.14k]
  ------------------
 8513|    216|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_LOAD phdr[%u]",
  ------------------
  |  |   75|    216|#define snprintf  upx_safe_snprintf
  ------------------
 8514|    216|            (unsigned)(phdr - phdri));
 8515|    216|        throwCantPack(msg);
 8516|    216|    }
 8517|  1.14k|    return offset;
 8518|  1.35k|}
_ZN14PackLinuxElf6416check_pt_dynamicEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
 8533|  1.79k|{
 8534|  1.79k|    upx_uint64_t t = get_te64(&phdr->p_offset), s = sizeof(Elf64_Dyn) + t;
 8535|  1.79k|    upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 8536|  1.79k|    upx_uint64_t filesz = get_te64(&phdr->p_filesz), memsz = get_te64(&phdr->p_memsz);
 8537|  1.79k|    upx_uint64_t align = get_te64(&phdr->p_align);
 8538|  1.79k|    if (file_size_u < t || s < t
  ------------------
  |  Branch (8538:9): [True: 65, False: 1.73k]
  |  Branch (8538:28): [True: 0, False: 1.73k]
  ------------------
 8539|  1.73k|    ||  file_size_u < filesz
  ------------------
  |  Branch (8539:9): [True: 70, False: 1.66k]
  ------------------
 8540|  1.66k|    ||  file_size_u < (filesz + t)
  ------------------
  |  Branch (8540:9): [True: 9, False: 1.65k]
  ------------------
 8541|  1.65k|    ||  t < (e_phnum*sizeof(Elf64_Phdr) + sizeof(Elf64_Ehdr))
  ------------------
  |  Branch (8541:9): [True: 11, False: 1.64k]
  ------------------
 8542|  1.64k|    ||  (7 & t) || (0xf & (filesz | memsz))  // .balign 8; 16==sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8542:9): [True: 6, False: 1.63k]
  |  Branch (8542:20): [True: 1, False: 1.63k]
  ------------------
 8543|  1.63k|    ||  (-1+ align) & (t ^ vaddr)
  ------------------
  |  Branch (8543:9): [True: 63, False: 1.57k]
  ------------------
 8544|  1.57k|    ||  file_size_u <= memsz
  ------------------
  |  Branch (8544:9): [True: 55, False: 1.51k]
  ------------------
 8545|  1.51k|    ||  filesz < sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8545:9): [True: 1, False: 1.51k]
  ------------------
 8546|  1.51k|    ||  memsz  < sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8546:9): [True: 1, False: 1.51k]
  ------------------
 8547|  1.51k|    ||  filesz < memsz) {
  ------------------
  |  Branch (8547:9): [True: 1, False: 1.51k]
  ------------------
 8548|    283|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_DYNAMIC phdr[%u]",
  ------------------
  |  |   75|    283|#define snprintf  upx_safe_snprintf
  ------------------
 8549|    283|            (unsigned)(phdr - phdri));
 8550|    283|        throwCantPack(msg);
 8551|    283|    }
 8552|  1.51k|    sz_dynseg = memsz;
 8553|  1.51k|    return t;
 8554|  1.79k|}
_ZN14PackLinuxElf6417sort_DT64_offsetsEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEE:
 8558|  1.21k|{
 8559|  1.21k|    mb_dt_offsets.alloc(sizeof(unsigned) * sizeof(dt_keys)/sizeof(dt_keys[0]));
 8560|  1.21k|    mb_dt_offsets.clear();
 8561|  1.21k|    dt_offsets = (unsigned *)mb_dt_offsets.getVoidPtr();
 8562|  1.21k|    unsigned n_off = 0, k;
 8563|  13.4k|    for (unsigned j=0; ((k = dt_keys[j]),  k); ++j) {
  ------------------
  |  Branch (8563:24): [True: 12.5k, False: 953]
  ------------------
 8564|  12.5k|        dt_offsets[n_off] = 0;  // default to "not found"
 8565|  12.5k|        u64_t rva = 0;
 8566|  12.5k|        if (k < DT_NUM) { // in range of easy table
  ------------------
  |  Branch (8566:13): [True: 8.20k, False: 4.30k]
  ------------------
 8567|  8.20k|            if (!dt_table[k]) {
  ------------------
  |  Branch (8567:17): [True: 5.67k, False: 2.53k]
  ------------------
 8568|  5.67k|                continue;
 8569|  5.67k|            }
 8570|  2.53k|            rva = get_te64(&dynp0[-1+ dt_table[k]].d_val);
 8571|  2.53k|        }
 8572|  4.30k|        else if (file_image) { // why is this guard necessary?
  ------------------
  |  Branch (8572:18): [True: 4.30k, False: 0]
  ------------------
 8573|  4.30k|            rva = elf_unsigned_dynamic(k);  // zero if not found
 8574|  4.30k|        }
 8575|  6.84k|        if (!rva) { // not present in input
  ------------------
  |  Branch (8575:13): [True: 3.93k, False: 2.90k]
  ------------------
 8576|  3.93k|            continue;
 8577|  3.93k|        }
 8578|  2.90k|        Elf64_Phdr const *const phdr = elf_find_Phdr_for_va(rva, phdri, e_phnum);
 8579|  2.90k|        if (!phdr) {
  ------------------
  |  Branch (8579:13): [True: 200, False: 2.70k]
  ------------------
 8580|    200|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#llx (no Phdr)",
  ------------------
  |  |   75|    200|#define snprintf  upx_safe_snprintf
  ------------------
 8581|    200|                k, rva);
 8582|    200|            throwCantPack(msg);
 8583|    200|        }
 8584|  2.70k|        dt_offsets[n_off] = (rva - get_te64(&phdr->p_vaddr)) + get_te64(&phdr->p_offset);
 8585|       |
 8586|  2.70k|        if (file_size <= dt_offsets[n_off]) {
  ------------------
  |  Branch (8586:13): [True: 57, False: 2.65k]
  ------------------
 8587|     57|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#x (beyond EOF)",
  ------------------
  |  |   75|     57|#define snprintf  upx_safe_snprintf
  ------------------
 8588|     57|                k, dt_offsets[n_off]);
 8589|     57|                throwCantPack(msg);
 8590|     57|        }
 8591|  2.65k|        n_off += !!dt_offsets[n_off];
 8592|  2.65k|    }
 8593|    953|    dt_offsets[n_off++] = file_size;  // sentinel
 8594|    953|    upx_qsort(dt_offsets, n_off, sizeof(dt_offsets[0]), qcmp_unsigned);
  ------------------
  |  |  237|    953|#define upx_qsort ::qsort
  ------------------
 8595|    953|}
_ZN14PackLinuxElf6411find_dt_ndxEy:
 8598|  1.18k|{
 8599|  1.18k|    unsigned *const dto = (unsigned *)mb_dt_offsets.getVoidPtr();
 8600|  1.18k|    unsigned const dto_size = mb_dt_offsets.getSize() / sizeof(*dto);
 8601|  2.98k|    for (unsigned j = 0; j < dto_size && dto[j]; ++j) { // linear search of short table
  ------------------
  |  Branch (8601:26): [True: 2.98k, False: 0]
  |  Branch (8601:42): [True: 2.87k, False: 109]
  ------------------
 8602|  2.87k|        if (rva == dto[j]) {
  ------------------
  |  Branch (8602:13): [True: 1.07k, False: 1.79k]
  ------------------
 8603|  1.07k|            return j;
 8604|  1.07k|        }
 8605|  2.87k|    }
 8606|    109|    return ~0u;
 8607|  1.18k|}
_ZN14PackLinuxElf6419elf_find_table_sizeEjj:
 8610|  1.43k|{
 8611|  1.43k|    Elf64_Shdr const *sec = elf_find_section_type(sh_type);
 8612|  1.43k|    if (sec) { // Cheat the easy way: use _Shdr.  (No _Shdr anyway for de-compression)
  ------------------
  |  Branch (8612:9): [True: 0, False: 1.43k]
  ------------------
 8613|      0|        return get_te64(&sec->sh_size);
 8614|      0|    }
 8615|       |    // Honest hard work: use _Phdr
 8616|  1.43k|    unsigned x_rva;
 8617|  1.43k|    if (dt_type < DT_NUM) {
  ------------------
  |  Branch (8617:9): [True: 1.11k, False: 324]
  ------------------
 8618|  1.11k|        unsigned const x_ndx = dt_table[dt_type];
 8619|  1.11k|        if (!x_ndx) { // no such entry
  ------------------
  |  Branch (8619:13): [True: 253, False: 861]
  ------------------
 8620|    253|            return 0;
 8621|    253|        }
 8622|    861|        x_rva = get_te64(&dynseg[-1+ x_ndx].d_val);
 8623|    861|    }
 8624|    324|    else {
 8625|    324|        x_rva = elf_unsigned_dynamic(dt_type);
 8626|    324|    }
 8627|  1.18k|    Elf64_Phdr const *const x_phdr = elf_find_Phdr_for_va(x_rva, phdri, e_phnum);
 8628|  1.18k|    if (!x_phdr)
  ------------------
  |  Branch (8628:9): [True: 1, False: 1.18k]
  ------------------
 8629|      1|        return ~0u;  // corrupted Phdrs?
 8630|  1.18k|    unsigned const           d_off =             x_rva - get_te64(&x_phdr->p_vaddr);
 8631|  1.18k|    unsigned const           y_ndx = find_dt_ndx(d_off + get_te64(&x_phdr->p_offset));
 8632|  1.18k|    if (~0u != y_ndx) {
  ------------------
  |  Branch (8632:9): [True: 1.07k, False: 109]
  ------------------
 8633|  1.07k|        return dt_offsets[1+ y_ndx] - dt_offsets[y_ndx];
 8634|  1.07k|    }
 8635|    109|    return ~0u;
 8636|  1.18k|}
_ZN14PackLinuxElf6417invert_pt_dynamicEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEEy:
 8640|  1.52k|{
 8641|  1.52k|    if (dt_table[Elf64_Dyn::DT_NULL]) {
  ------------------
  |  Branch (8641:9): [True: 209, False: 1.31k]
  ------------------
 8642|    209|        return;  // not 1st time; do not change upx_dt_init
 8643|    209|    }
 8644|  1.31k|    Elf64_Dyn const *const dynp0 = dynp;
 8645|  1.31k|    unsigned ndx = 0;
 8646|  1.31k|    unsigned const limit = headway / sizeof(*dynp);
 8647|  1.31k|    if (dynp)
  ------------------
  |  Branch (8647:9): [True: 1.31k, False: 0]
  ------------------
 8648|  13.5k|    for (; ; ++ndx, ++dynp) {
 8649|  13.5k|        if (limit <= ndx) {
  ------------------
  |  Branch (8649:13): [True: 21, False: 13.5k]
  ------------------
 8650|     21|            throwCantPack("DT_NULL not found");
 8651|     21|        }
 8652|  13.5k|        upx_uint64_t const d_tag = get_te64(&dynp->d_tag);
 8653|  13.5k|        if (d_tag>>32) { // outrageous
  ------------------
  |  Branch (8653:13): [True: 23, False: 13.4k]
  ------------------
 8654|     23|            throwCantPack("bad Elf64_Dyn[%d].d_tag %#lx",
 8655|     23|                ndx, (long unsigned)d_tag);
 8656|     23|        }
 8657|  13.4k|        if (d_tag < DT_NUM) {
  ------------------
  |  Branch (8657:13): [True: 7.33k, False: 6.13k]
  ------------------
 8658|  7.33k|            if (Elf64_Dyn::DT_NEEDED != d_tag
  ------------------
  |  Branch (8658:17): [True: 6.76k, False: 571]
  ------------------
 8659|  6.76k|            &&  dt_table[d_tag]
  ------------------
  |  Branch (8659:17): [True: 132, False: 6.63k]
  ------------------
 8660|    132|            &&    get_te64(&dynp->d_val)
  ------------------
  |  Branch (8660:19): [True: 62, False: 70]
  ------------------
 8661|    132|               != get_te64(&dynp0[-1+ dt_table[d_tag]].d_val)) {
 8662|     62|                throwCantPack("duplicate DT_%#x: [%#x] [%#x]",
 8663|     62|                    (unsigned)d_tag, -1+ dt_table[d_tag], ndx);
 8664|     62|            }
 8665|  7.27k|            dt_table[d_tag] = 1+ ndx;
 8666|  7.27k|        }
 8667|  13.4k|        if (Elf64_Dyn::DT_NULL == d_tag) {
  ------------------
  |  Branch (8667:13): [True: 1.21k, False: 12.2k]
  ------------------
 8668|  1.21k|            break;  // check here so that dt_table[DT_NULL] is set
 8669|  1.21k|        }
 8670|  13.4k|    }
 8671|  1.21k|    sort_DT64_offsets(dynp0);
 8672|       |
 8673|  1.21k|    upx_dt_init = 0;
 8674|  1.21k|         if (dt_table[Elf64_Dyn::DT_INIT])          upx_dt_init = Elf64_Dyn::DT_INIT;
  ------------------
  |  Branch (8674:14): [True: 224, False: 986]
  ------------------
 8675|    986|    else if (dt_table[Elf64_Dyn::DT_PREINIT_ARRAY]) upx_dt_init = Elf64_Dyn::DT_PREINIT_ARRAY;
  ------------------
  |  Branch (8675:14): [True: 70, False: 916]
  ------------------
 8676|    916|    else if (dt_table[Elf64_Dyn::DT_INIT_ARRAY])    upx_dt_init = Elf64_Dyn::DT_INIT_ARRAY;
  ------------------
  |  Branch (8676:14): [True: 17, False: 899]
  ------------------
 8677|       |
 8678|  1.21k|    unsigned const z_str = dt_table[Elf64_Dyn::DT_STRSZ];
 8679|  1.21k|    strtab_max = !z_str ? 0 : get_te64(&dynp0[-1+ z_str].d_val);
  ------------------
  |  Branch (8679:18): [True: 51, False: 1.15k]
  ------------------
 8680|  1.21k|    unsigned const z_tab = dt_table[Elf64_Dyn::DT_STRTAB];
 8681|  1.21k|    unsigned const tmp1 = !z_tab ? 0 : get_te64(&dynp0[-1+ z_tab].d_val);
  ------------------
  |  Branch (8681:27): [True: 31, False: 1.17k]
  ------------------
 8682|  1.21k|    if (tmp1 < sz_elf_hdrs) {
  ------------------
  |  Branch (8682:9): [True: 37, False: 1.17k]
  ------------------
 8683|     37|        throwCantPack("bad DT_STRTAB %#x", tmp1);
 8684|     37|    }
 8685|  1.17k|    unsigned const strtab_beg = !z_tab ? 0 : elf_get_offset_from_address(tmp1);
  ------------------
  |  Branch (8685:33): [True: 0, False: 1.17k]
  ------------------
 8686|       |
 8687|  1.17k|    if (!z_str || !z_tab || !(strtab_max + strtab_beg)
  ------------------
  |  Branch (8687:9): [True: 324, False: 849]
  |  Branch (8687:19): [True: 0, False: 849]
  |  Branch (8687:29): [True: 2, False: 847]
  ------------------
 8688|    847|    || (this->file_size - strtab_beg) < strtab_max  // strtab overlaps EOF
  ------------------
  |  Branch (8688:8): [True: 42, False: 805]
  ------------------
 8689|       |        // last string in table must have terminating NUL
 8690|    805|    ||  '\0' != ((char *)file_image.getVoidPtr())[-1+ strtab_max + strtab_beg]
  ------------------
  |  Branch (8690:9): [True: 7, False: 798]
  ------------------
 8691|  1.17k|    ) {
 8692|     57|        throwCantPack("bad DT_STRSZ %#x", strtab_max);
 8693|     57|    }
 8694|       |
 8695|  1.11k|    { // Find end of DT_SYMTAB
 8696|  1.11k|        unsigned const tmp2 = elf_find_table_size(Elf64_Dyn::DT_SYMTAB,
 8697|  1.11k|            Elf64_Shdr::SHT_DYNSYM);
 8698|  1.11k|        symnum_max = (~0u == tmp2) ? 0 : tmp2 / sizeof(Elf64_Sym);
  ------------------
  |  Branch (8698:22): [True: 20, False: 1.09k]
  ------------------
 8699|  1.11k|    }
 8700|       |
 8701|  1.11k|    unsigned v_sym = dt_table[Elf64_Dyn::DT_SYMTAB];
 8702|  1.11k|    if (v_sym) {
  ------------------
  |  Branch (8702:9): [True: 545, False: 571]
  ------------------
 8703|    545|        v_sym = elf_get_offset_from_address(get_te64(&dynp0[-1+ v_sym].d_val));
 8704|    545|    }
 8705|       |
 8706|  1.11k|    unsigned v_hsh = dt_table[Elf64_Dyn::DT_HASH];
 8707|  1.11k|    if (v_hsh) {
  ------------------
  |  Branch (8707:9): [True: 438, False: 678]
  ------------------
 8708|    438|        v_hsh = elf_get_offset_from_address(get_te64(&dynp0[-1+ v_hsh].d_val));
 8709|    438|    }
 8710|  1.11k|    if (v_hsh && file_image) {
  ------------------
  |  Branch (8710:9): [True: 410, False: 706]
  |  Branch (8710:18): [True: 410, False: 0]
  ------------------
 8711|    410|        hashtab = (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_HASH);
 8712|    410|        if (!hashtab) {
  ------------------
  |  Branch (8712:13): [True: 94, False: 316]
  ------------------
 8713|     94|            throwCantPack("bad DT_HASH %#x", v_hsh);
 8714|     94|        }
 8715|       |        // Find end of DT_HASH
 8716|    316|        hashend = (unsigned const *)(void const *)(elf_find_table_size(
 8717|    316|            Elf64_Dyn::DT_HASH, Elf64_Shdr::SHT_HASH) + (char const *)hashtab);
 8718|    316|        if (!hashtab || (char const *)hashend <= (char const *)&hashtab[2]
  ------------------
  |  Branch (8718:13): [True: 0, False: 316]
  |  Branch (8718:25): [True: 3, False: 313]
  ------------------
 8719|    313|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (8719:13): [True: 10, False: 303]
  ------------------
 8720|    313|            < (unsigned)((char const *)&hashtab[2] - (char *)&file_image[0]) )
 8721|     13|        {
 8722|     13|            throwCantPack("bad DT_HASH %#x", v_hsh);
 8723|     13|        }
 8724|       |
 8725|    303|        unsigned const nbucket = get_te32(&hashtab[0]);
 8726|    303|        unsigned const *const buckets = &hashtab[2];
 8727|    303|        unsigned const *const chains = &buckets[nbucket]; (void)chains;
 8728|    303|        if ((unsigned)(file_size - ((char const *)buckets - (char const *)(void const *)file_image))
  ------------------
  |  Branch (8728:13): [True: 48, False: 255]
  ------------------
 8729|    303|                <= sizeof(unsigned)*nbucket ) {
 8730|     48|            throwCantPack("bad nbucket %#x\n", nbucket);
 8731|     48|        }
 8732|       |
 8733|    255|        if ((unsigned)(hashend - buckets) < nbucket
  ------------------
  |  Branch (8733:13): [True: 15, False: 240]
  ------------------
 8734|    240|        || !v_sym || file_size_u <= v_sym
  ------------------
  |  Branch (8734:12): [True: 21, False: 219]
  |  Branch (8734:22): [True: 0, False: 219]
  ------------------
 8735|    219|        || ((v_hsh < v_sym) && (v_sym - v_hsh) < sizeof(*buckets)*(2+ nbucket))
  ------------------
  |  Branch (8735:13): [True: 152, False: 67]
  |  Branch (8735:32): [True: 3, False: 149]
  ------------------
 8736|    255|        ) {
 8737|     39|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 8738|     39|                nbucket, (v_sym - v_hsh));
 8739|     39|        }
 8740|    216|        unsigned chmax = 0;
 8741|  8.80k|        for (unsigned j= 0; j < nbucket; ++j) {
  ------------------
  |  Branch (8741:29): [True: 8.59k, False: 216]
  ------------------
 8742|  8.59k|            unsigned x = get_te32(&buckets[j]);
 8743|  8.59k|            if (chmax < x) {
  ------------------
  |  Branch (8743:17): [True: 574, False: 8.01k]
  ------------------
 8744|    574|                chmax = x;
 8745|    574|            }
 8746|  8.59k|        }
 8747|    216|        if ((v_hsh < v_sym) && (v_sym - v_hsh) <
  ------------------
  |  Branch (8747:13): [True: 149, False: 67]
  |  Branch (8747:32): [True: 46, False: 103]
  ------------------
 8748|    149|                (sizeof(*buckets)*(2+ nbucket) + sizeof(*chains)*(1+ chmax))) {
 8749|     46|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 8750|     46|                nbucket, (v_sym - v_hsh));
 8751|     46|        }
 8752|    216|    }
 8753|    876|    unsigned const v_gsh = elf_unsigned_dynamic(Elf64_Dyn::DT_GNU_HASH);
 8754|    876|    if (v_gsh && file_image) {
  ------------------
  |  Branch (8754:9): [True: 325, False: 551]
  |  Branch (8754:18): [True: 325, False: 0]
  ------------------
 8755|       |        // Not similar to DT_HASH because DT_GNU_HASH is not small (0x6ffffef5).
 8756|    325|        gashtab = (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_GNU_HASH);
 8757|    325|        gashend = (unsigned const *)(void const *)(elf_find_table_size(
 8758|    325|            Elf64_Dyn::DT_GNU_HASH, Elf64_Shdr::SHT_GNU_HASH) + (char const *)gashtab);
 8759|    325|        if (!gashtab || (char const *)gashend <= (char const *)&gashtab[4]
  ------------------
  |  Branch (8759:13): [True: 7, False: 318]
  |  Branch (8759:25): [True: 2, False: 316]
  ------------------
 8760|    316|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (8760:13): [True: 0, False: 316]
  ------------------
 8761|    316|            < (unsigned)((char const *)&gashtab[4] - (char *)&file_image[0]) )
 8762|      8|        {
 8763|      8|            throwCantPack("bad DT_GNU_HASH %#x", v_gsh);
 8764|      8|        }
 8765|       |
 8766|    317|        unsigned const n_bucket = get_te32(&gashtab[0]);
 8767|    317|        unsigned const symbias  = get_te32(&gashtab[1]);
 8768|    317|        unsigned const n_bitmask = get_te32(&gashtab[2]);
 8769|    317|        unsigned const gnu_shift = get_te32(&gashtab[3]);
 8770|    317|        upx_uint64_t const *const bitmask = (upx_uint64_t const *)(void const *)&gashtab[4];
 8771|    317|        unsigned     const *const buckets = (unsigned const *)&bitmask[n_bitmask];
 8772|    317|        unsigned     const *const hasharr = &buckets[n_bucket]; (void)hasharr;
 8773|    317|        if (!n_bucket || (1u<<31) <= n_bucket  /* fie on fuzzers */
  ------------------
  |  Branch (8773:13): [True: 9, False: 308]
  |  Branch (8773:26): [True: 31, False: 277]
  ------------------
 8774|    277|        || (unsigned)(gashend - buckets) < n_bucket
  ------------------
  |  Branch (8774:12): [True: 22, False: 255]
  ------------------
 8775|    255|        || (file_size + file_image) <= (void const *)hasharr) {
  ------------------
  |  Branch (8775:12): [True: 50, False: 205]
  ------------------
 8776|    111|            throwCantPack("bad n_bucket %#x\n", n_bucket);
 8777|    111|        }
 8778|       |        // It would be better to detect zeroes shifted into low 6 bits of:
 8779|       |        //    (077 & (hash_32 >> gnu_shift))
 8780|       |        // but compilers can be stupid.
 8781|    206|        if (31 < gnu_shift) {
  ------------------
  |  Branch (8781:13): [True: 3, False: 203]
  ------------------
 8782|      3|            throwCantPack("bad gnu_shift %#x", gnu_shift);
 8783|      3|        }
 8784|       |        // unsigned const *const gashend = &hasharr[n_bucket];
 8785|       |        // minimum, except:
 8786|       |        // Rust and Android trim unused zeroes from high end of hasharr[]
 8787|    203|        unsigned bmax = 0;
 8788|  5.31k|        for (unsigned j= 0; j < n_bucket; ++j) {
  ------------------
  |  Branch (8788:29): [True: 5.12k, False: 192]
  ------------------
 8789|  5.12k|            unsigned bj = get_te32(&buckets[j]);
 8790|  5.12k|            if (bj) {
  ------------------
  |  Branch (8790:17): [True: 3.66k, False: 1.46k]
  ------------------
 8791|  3.66k|                if (bj < symbias) {
  ------------------
  |  Branch (8791:21): [True: 11, False: 3.65k]
  ------------------
 8792|     11|                    throwCantPack("bad DT_GNU_HASH bucket[%d] < symbias{%#x}\n",
 8793|     11|                            bj, symbias);
 8794|     11|                }
 8795|  3.65k|                if (bmax < bj) {
  ------------------
  |  Branch (8795:21): [True: 586, False: 3.06k]
  ------------------
 8796|    586|                    bmax = bj;
 8797|    586|                }
 8798|  3.65k|            }
 8799|  5.12k|        }
 8800|    192|        if (1==n_bucket  && 0==buckets[0]
  ------------------
  |  Branch (8800:13): [True: 101, False: 91]
  |  Branch (8800:29): [True: 85, False: 16]
  ------------------
 8801|     85|        &&  1==n_bitmask && 0==bitmask[0]) {
  ------------------
  |  Branch (8801:13): [True: 75, False: 10]
  |  Branch (8801:29): [True: 10, False: 65]
  ------------------
 8802|       |            // 2021-09-11 Rust on RaspberryPi apparently uses this to minimize space.
 8803|       |            // But then the DT_GNU_HASH symbol lookup algorithm always fails?
 8804|       |            // https://github.com/upx/upx/issues/525
 8805|     10|        } else
 8806|    182|        if (bmax) {
  ------------------
  |  Branch (8806:13): [True: 98, False: 84]
  ------------------
 8807|     98|            if ((1+ bmax) < symbias) {
  ------------------
  |  Branch (8807:17): [True: 1, False: 97]
  ------------------
 8808|      1|                throwCantPack("bad DT_GNU_HASH (1+ max_bucket)=%#x < symbias=%#x",
 8809|      1|                    1+ bmax, symbias);
 8810|      1|            }
 8811|     97|            bmax -= symbias;
 8812|     97|        }
 8813|       |
 8814|    191|        unsigned r = 0;
 8815|    191|        if (!n_bucket || !n_bitmask || !v_sym
  ------------------
  |  Branch (8815:13): [True: 1, False: 190]
  |  Branch (8815:26): [True: 13, False: 177]
  |  Branch (8815:40): [True: 14, False: 163]
  ------------------
 8816|    163|        || (r=1, ((-1+ n_bitmask) & n_bitmask))  // not a power of 2
  ------------------
  |  Branch (8816:12): [True: 4, False: 159]
  ------------------
 8817|    159|        || (r=2, (8*sizeof(upx_uint64_t) <= gnu_shift))  // shifted result always == 0
  ------------------
  |  Branch (8817:12): [True: 0, False: 159]
  ------------------
 8818|    159|        || (r=3, (n_bucket>>30))  // fie on fuzzers
  ------------------
  |  Branch (8818:12): [True: 0, False: 159]
  ------------------
 8819|    159|        || (r=4, (n_bitmask>>30))
  ------------------
  |  Branch (8819:12): [True: 0, False: 159]
  ------------------
 8820|    159|        || (r=5, ((file_size/sizeof(unsigned))
  ------------------
  |  Branch (8820:12): [True: 1, False: 158]
  ------------------
 8821|    159|                <= ((sizeof(*bitmask)/sizeof(unsigned))*n_bitmask + 2*n_bucket)))  // FIXME: weak
 8822|    158|        || (r=6, ((v_gsh < v_sym) && (v_sym - v_gsh) < (sizeof(unsigned)*4  // headers
  ------------------
  |  Branch (8822:12): [True: 44, False: 114]
  |  Branch (8822:19): [True: 89, False: 69]
  |  Branch (8822:38): [True: 44, False: 45]
  ------------------
 8823|     89|                + sizeof(*bitmask)*n_bitmask  // bitmask
 8824|     89|                + sizeof(*buckets)*n_bucket  // buckets
 8825|     89|                + sizeof(*hasharr)*(!bmax ? 0 : (1+ bmax))  // hasharr
  ------------------
  |  Branch (8825:37): [True: 30, False: 59]
  ------------------
 8826|     89|            )) )
 8827|    191|        ) {
 8828|     76|            throwCantPack("bad DT_GNU_HASH n_bucket=%#x  n_bitmask=%#x  len=%#lx  r=%d",
 8829|     76|                n_bucket, n_bitmask, (long unsigned)(v_sym - v_gsh), r);
 8830|     76|        }
 8831|    191|    }
 8832|    666|    e_shstrndx = get_te16(&ehdri.e_shstrndx);  // who omitted this?
 8833|    666|    if (e_shnum <= e_shstrndx
  ------------------
  |  Branch (8833:9): [True: 54, False: 612]
  ------------------
 8834|     54|    &&  !(0==e_shnum && 0==e_shstrndx) ) {
  ------------------
  |  Branch (8834:11): [True: 38, False: 16]
  |  Branch (8834:25): [True: 29, False: 9]
  ------------------
 8835|     25|        throwCantPack("bad .e_shstrndx %d >= .e_shnum %d", e_shstrndx, e_shnum);
 8836|     25|    }
 8837|    666|}
_ZN14PackLinuxElf326unpackEP10OutputFile:
 9096|  2.57k|{
 9097|  2.57k|    if (e_phoff != sizeof(Elf32_Ehdr)) {// Phdrs not contiguous with Ehdr
  ------------------
  |  Branch (9097:9): [True: 0, False: 2.57k]
  ------------------
 9098|      0|        throwCantUnpack("bad e_phoff");
 9099|      0|    }
 9100|  2.57k|    unsigned const c_phnum = get_te16(&ehdri.e_phnum);
 9101|  2.57k|    unsigned u_phnum = 0;
 9102|  2.57k|    upx_uint32_t old_dtinit = 0;
 9103|       |
 9104|  2.57k|    if (Elf32_Ehdr::ET_EXEC == get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (9104:9): [True: 2.50k, False: 78]
  ------------------
 9105|       |// 40fddf17153ee3db73a04ff1bf288b91676138d6 2001-02-01 ph.version 11; b_info 12 bytes
 9106|       |// df9db96bd1c013c07da1d7ec740021d588ab2815 2001-01-17 ph.version 11; no b_info (==> 8 bytes)
 9107|  2.50k|        if (ph.version <= 11
  ------------------
  |  Branch (9107:13): [True: 4, False: 2.49k]
  ------------------
 9108|      4|        &&  get_te32(&ehdri.e_entry) < 0x401180
  ------------------
  |  Branch (9108:13): [True: 2, False: 2]
  ------------------
 9109|      2|        &&  get_te16(&ehdri.e_machine)==Elf32_Ehdr::EM_386) {
  ------------------
  |  Branch (9109:13): [True: 1, False: 1]
  ------------------
 9110|       |            // old style, 8-byte b_info:
 9111|       |            // sizeof(b_info.sz_unc) + sizeof(b_info.sz_cpr);
 9112|      1|            szb_info = 2*sizeof(unsigned);
 9113|      1|        }
 9114|  2.50k|    }
 9115|       |
 9116|  2.57k|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 9117|  2.57k|    fi->readx(&linfo, sizeof(linfo));
 9118|  2.57k|    if (UPX_MAGIC_LE32 != get_le32(&linfo.l_magic)) {
  ------------------
  |  |  537|  2.57k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9118:9): [True: 131, False: 2.44k]
  ------------------
 9119|    131|        NE32 const *const lp = (NE32 const *)(void const *)&linfo;
 9120|       |        // Workaround for bug of extra linfo by some asl_pack2_Shdrs().
 9121|    131|        if (0==lp[0] && 0==lp[1] && 0==lp[2]) { // looks like blank extra
  ------------------
  |  Branch (9121:13): [True: 93, False: 38]
  |  Branch (9121:25): [True: 52, False: 41]
  |  Branch (9121:37): [True: 38, False: 14]
  ------------------
 9122|     38|            fi->readx(&linfo, sizeof(linfo));
 9123|     38|            if (UPX_MAGIC_LE32 == get_le32(&linfo.l_magic)) {
  ------------------
  |  |  537|     38|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9123:17): [True: 8, False: 30]
  ------------------
 9124|      8|                overlay_offset += sizeof(linfo);
 9125|      8|            }
 9126|     30|            else {
 9127|     30|                throwCantUnpack("l_info corrupted");
 9128|     30|            }
 9129|     38|        }
 9130|     93|        else {
 9131|     93|            throwCantUnpack("l_info corrupted");
 9132|     93|        }
 9133|    131|    }
 9134|  2.45k|    lsize = get_te16(&linfo.l_lsize);
 9135|  2.45k|    p_info hbuf;  fi->readx(&hbuf, sizeof(hbuf));
 9136|  2.45k|    unsigned orig_file_size = get_te32(&hbuf.p_filesize);
 9137|  2.45k|    blocksize = get_te32(&hbuf.p_blocksize);
 9138|  2.45k|    if ((u32_t)file_size > orig_file_size || blocksize > orig_file_size
  ------------------
  |  Branch (9138:9): [True: 5, False: 2.45k]
  |  Branch (9138:46): [True: 22, False: 2.42k]
  ------------------
 9139|  2.42k|        || (orig_file_size >> 8) > (u32_t)file_size  // heuristic anti-fuzz
  ------------------
  |  Branch (9139:12): [True: 41, False: 2.38k]
  ------------------
 9140|  2.38k|        ||      (blocksize >> 8) > (u32_t)file_size
  ------------------
  |  Branch (9140:17): [True: 0, False: 2.38k]
  ------------------
 9141|  2.38k|        || !mem_size_valid(1, blocksize, OVERHEAD))
  ------------------
  |  Branch (9141:12): [True: 0, False: 2.38k]
  ------------------
 9142|     64|        throwCantUnpack("p_info corrupted");
 9143|       |
 9144|  2.39k|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 9145|  2.39k|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 9146|  2.39k|    fi->readx(&bhdr, szb_info);
 9147|  2.39k|    ph.u_len = get_te32(&bhdr.sz_unc);
 9148|  2.39k|    ph.c_len = get_te32(&bhdr.sz_cpr);
 9149|  2.39k|    ph.set_method(bhdr.b_method, overlay_offset + sizeof(p_info));
 9150|  2.39k|    if (ph.c_len > (unsigned)file_size || ph.c_len == 0 || ph.u_len == 0
  ------------------
  |  Branch (9150:9): [True: 19, False: 2.37k]
  |  Branch (9150:43): [True: 1, False: 2.37k]
  |  Branch (9150:60): [True: 1, False: 2.37k]
  ------------------
 9151|  2.37k|    ||  ph.u_len > orig_file_size)
  ------------------
  |  Branch (9151:9): [True: 50, False: 2.32k]
  ------------------
 9152|     63|        throwCantUnpack("b_info corrupted");
 9153|  2.32k|    ph.filter_cto = bhdr.b_cto8;
 9154|  2.32k|    prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 9155|       |
 9156|  2.32k|    MemBuffer u(ph.u_len);
 9157|  2.32k|    Elf32_Ehdr *const ehdr = (Elf32_Ehdr *)&u[0];
 9158|  2.32k|    Elf32_Phdr const *phdr = nullptr;
 9159|  2.32k|    total_in = 0;
 9160|  2.32k|    total_out = 0;
 9161|  2.32k|    unsigned c_adler = upx_adler32(nullptr, 0);
 9162|  2.32k|    unsigned u_adler = upx_adler32(nullptr, 0);
 9163|       |
 9164|  2.32k|    unsigned is_shlib = 0;
 9165|  2.32k|    loader_offset = 0;
 9166|  2.32k|    MemBuffer o_elfhdrs;
 9167|  2.32k|    Elf32_Phdr const *const dynhdr = elf_find_ptype(Elf32_Phdr::PT_DYNAMIC, phdri, c_phnum);
 9168|       |    // dynseg was set by PackLinuxElf32help1
 9169|  2.32k|    if (dynhdr && !(Elf32_Dyn::DF_1_PIE & elf_unsigned_dynamic(Elf32_Dyn::DT_FLAGS_1))) {
  ------------------
  |  Branch (9169:9): [True: 271, False: 2.05k]
  |  Branch (9169:19): [True: 271, False: 0]
  ------------------
 9170|       |        // Packed shlib? (ET_DYN without -fPIE)
 9171|    271|        is_shlib = 1;
 9172|    271|        xct_off = overlay_offset - sizeof(l_info);
 9173|    271|        u_phnum = get_te16(&ehdri.e_phnum);
 9174|    271|        o_elfhdrs.alloc(sz_elf_hdrs);
 9175|    271|        un_shlib_1(fo, o_elfhdrs, c_adler, u_adler, orig_file_size);
 9176|    271|        *ehdr = ehdri;
 9177|    271|    }
 9178|  2.05k|    else { // main executable
 9179|       |        // Uncompress Ehdr and Phdrs: info for control of unpacking
 9180|  2.05k|        if (ibuf.getSize() < ph.c_len)
  ------------------
  |  Branch (9180:13): [True: 3, False: 2.05k]
  ------------------
 9181|      3|            throwCompressedDataViolation();
 9182|  2.05k|        fi->readx(ibuf, ph.c_len);
 9183|  2.05k|        if (ph.u_len < sizeof(*ehdr))
  ------------------
  |  Branch (9183:13): [True: 6, False: 2.04k]
  ------------------
 9184|      6|            throwCantUnpack("ElfXX_Ehdr corrupted");
 9185|  2.04k|        decompress(ibuf, (upx_byte *)ehdr, false);
 9186|  2.04k|        if (ehdr->e_type   !=ehdri.e_type
  ------------------
  |  Branch (9186:13): [True: 923, False: 1.12k]
  ------------------
 9187|  1.12k|        ||  ehdr->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (9187:13): [True: 1, False: 1.12k]
  ------------------
 9188|  1.12k|        ||  ehdr->e_version!=ehdri.e_version
  ------------------
  |  Branch (9188:13): [True: 0, False: 1.12k]
  ------------------
 9189|       |            // less strict for EM_PPC to workaround earlier bug
 9190|  1.12k|        ||  !( ehdr->e_flags==ehdri.e_flags
  ------------------
  |  Branch (9190:16): [True: 501, False: 624]
  ------------------
 9191|    624|            || Elf32_Ehdr::EM_PPC == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (9191:16): [True: 621, False: 3]
  ------------------
 9192|  1.12k|        ||  ehdr->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (9192:13): [True: 7, False: 1.11k]
  ------------------
 9193|       |            // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 9194|  1.11k|        ||  memcmp(ehdr->e_ident, ehdri.e_ident, Elf32_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (9194:13): [True: 3, False: 1.11k]
  ------------------
 9195|     15|            throwCantUnpack("ElfXX_Ehdr corrupted");
 9196|     15|        }
 9197|       |        // Rewind: prepare for data phase
 9198|  2.03k|        fi->seek(- (off_t) (szb_info + ph.c_len), SEEK_CUR);
 9199|       |
 9200|  2.03k|        u_phnum = get_te16(&ehdr->e_phnum);
 9201|  2.03k|        if ((umin((unsigned)MAX_ELF_HDR_32, ph.u_len) - sizeof(Elf32_Ehdr))/sizeof(Elf32_Phdr) < u_phnum) {
  ------------------
  |  |    5|  2.03k|#define MAX_ELF_HDR_32 1024
  ------------------
  |  Branch (9201:13): [True: 1, False: 2.03k]
  ------------------
 9202|      1|            throwCantUnpack("bad compressed e_phnum");
 9203|      1|        }
 9204|  2.03k|        o_elfhdrs.alloc(sizeof(Elf32_Ehdr) + u_phnum * sizeof(Elf32_Phdr));
 9205|  2.03k|        memcpy(o_elfhdrs, ehdr, o_elfhdrs.getSize());
 9206|       |
 9207|       |        // Decompress each PT_LOAD.
 9208|  2.03k|        bool first_PF_X = true;
 9209|  2.03k|        phdr = (Elf32_Phdr *) (void *) (1+ ehdr);  // uncompressed
 9210|  4.51k|        for (unsigned j=0; j < u_phnum; ++phdr, ++j) {
  ------------------
  |  Branch (9210:28): [True: 2.48k, False: 2.03k]
  ------------------
 9211|  2.48k|            if (is_LOAD(phdr)) {
  ------------------
  |  Branch (9211:17): [True: 1.10k, False: 1.37k]
  ------------------
 9212|  1.10k|                unsigned const filesz = get_te32(&phdr->p_filesz);
 9213|  1.10k|                unsigned const offset = get_te32(&phdr->p_offset);
 9214|  1.10k|                if (fo) {
  ------------------
  |  Branch (9214:21): [True: 1.10k, False: 0]
  ------------------
 9215|  1.10k|                    fo->seek(offset, SEEK_SET);
 9216|  1.10k|                    if (total_out < offset) {
  ------------------
  |  Branch (9216:25): [True: 124, False: 981]
  ------------------
 9217|    124|                        total_out = offset;  // FIXME: can it be re-write?
 9218|    124|                    }
 9219|  1.10k|                }
 9220|  1.10k|                if (Elf32_Phdr::PF_X & get_te32(&phdr->p_flags)) {
  ------------------
  |  Branch (9220:21): [True: 969, False: 136]
  ------------------
 9221|    969|                    unpackExtent(filesz, fo,
 9222|    969|                        c_adler, u_adler, first_PF_X);
 9223|    969|                    first_PF_X = false;
 9224|    969|                }
 9225|    136|                else {
 9226|    136|                    unpackExtent(filesz, fo,
 9227|    136|                        c_adler, u_adler, false);
 9228|    136|                }
 9229|  1.10k|            }
 9230|  2.48k|        }
 9231|  2.03k|    }
 9232|       |
 9233|  2.30k|    upx_uint32_t const e_entry = get_te32(&ehdri.e_entry);
 9234|  2.30k|    unsigned off_entry = 0;
 9235|  2.30k|    phdr = phdri;
 9236|  2.30k|    load_va = 0;
 9237|  5.41k|    for (unsigned j=0; j < c_phnum; ++j, ++phdr) {
  ------------------
  |  Branch (9237:24): [True: 3.27k, False: 2.14k]
  ------------------
 9238|  3.27k|        if (is_LOAD(phdr)) {
  ------------------
  |  Branch (9238:13): [True: 388, False: 2.88k]
  ------------------
 9239|    388|            upx_uint32_t offset = get_te32(&phdr->p_offset);
 9240|    388|            upx_uint32_t vaddr  = get_te32(&phdr->p_vaddr);
 9241|    388|            upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 9242|    388|            if (!load_va) {
  ------------------
  |  Branch (9242:17): [True: 234, False: 154]
  ------------------
 9243|    234|                load_va = vaddr;
 9244|    234|            }
 9245|    388|            if ((e_entry - vaddr) < filesz) {
  ------------------
  |  Branch (9245:17): [True: 157, False: 231]
  ------------------
 9246|    157|                off_entry = (e_entry - vaddr) + offset;
 9247|    157|                break;
 9248|    157|            }
 9249|    388|        }
 9250|  3.27k|    }
 9251|  2.30k|    unsigned d_info[6];
 9252|  2.30k|    unsigned sz_d_info = sizeof(d_info);
 9253|  2.30k|    if (!is_shlib) {
  ------------------
  |  Branch (9253:9): [True: 221, False: 2.08k]
  ------------------
 9254|    221|        if (get_te32(&phdri[0].p_flags) & Elf32_Phdr::PF_X) {
  ------------------
  |  Branch (9254:13): [True: 135, False: 86]
  ------------------
 9255|       |            // Old style, such as upx-3.91 thru upx-3.95
 9256|    135|            switch (this->e_machine) {
 9257|      0|                default: {
  ------------------
  |  Branch (9257:17): [True: 0, False: 135]
  ------------------
 9258|      0|                    char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 9259|      0|                        "Unknown architecture %d", this->e_machine);
 9260|      0|                    throwCantUnpack(msg);
 9261|      0|                }; break;
 9262|      6|                case Elf32_Ehdr::EM_MIPS:sz_d_info = 1 * sizeof(unsigned); break;
  ------------------
  |  Branch (9262:17): [True: 6, False: 129]
  ------------------
 9263|    101|                case Elf32_Ehdr::EM_ARM: sz_d_info = 4 * sizeof(unsigned); break;
  ------------------
  |  Branch (9263:17): [True: 101, False: 34]
  ------------------
 9264|      3|                case Elf32_Ehdr::EM_PPC: sz_d_info = 3 * sizeof(unsigned); break;
  ------------------
  |  Branch (9264:17): [True: 3, False: 132]
  ------------------
 9265|     25|                case Elf32_Ehdr::EM_386: sz_d_info = 2 * sizeof(unsigned); break;
  ------------------
  |  Branch (9265:17): [True: 25, False: 110]
  ------------------
 9266|    135|            }
 9267|    135|        }
 9268|    221|        loader_offset = off_entry - sz_d_info;
 9269|    221|    }
 9270|       |
 9271|  2.30k|    if (0x1000==get_te32(&phdri[0].p_filesz)  // detect C_BASE style
  ------------------
  |  Branch (9271:9): [True: 84, False: 2.22k]
  ------------------
 9272|     84|    &&  0==get_te32(&phdri[1].p_offset)
  ------------------
  |  Branch (9272:9): [True: 75, False: 9]
  ------------------
 9273|     75|    &&  0==get_te32(&phdri[0].p_offset)
  ------------------
  |  Branch (9273:9): [True: 50, False: 25]
  ------------------
 9274|     50|    &&     get_te32(&phdri[1].p_filesz) == get_te32(&phdri[1].p_memsz)) {
  ------------------
  |  Branch (9274:12): [True: 36, False: 14]
  ------------------
 9275|     36|        fi->seek(up4(get_te32(&phdri[1].p_memsz)), SEEK_SET);  // past the loader
 9276|     36|    }
 9277|  2.26k|    else if (is_shlib
  ------------------
  |  Branch (9277:14): [True: 2.07k, False: 195]
  ------------------
 9278|    195|    ||  (off_entry + up4(lsize) + ph.getPackHeaderSize() + sizeof(overlay_offset))
  ------------------
  |  Branch (9278:9): [True: 102, False: 93]
  ------------------
 9279|    195|            < up4(file_size)) {
 9280|       |        // Loader is not at end; skip past it.
 9281|    175|        if (loader_offset) {
  ------------------
  |  Branch (9281:13): [True: 174, False: 1]
  ------------------
 9282|    174|            fi->seek(loader_offset, SEEK_SET);
 9283|    174|        }
 9284|      1|        else {
 9285|      1|            funpad4(fi);  // MATCH01
 9286|      1|        }
 9287|    175|        fi->readx(d_info, sz_d_info);
 9288|    175|        if (is_shlib && 0==old_dtinit) {
  ------------------
  |  Branch (9288:13): [True: 73, False: 102]
  |  Branch (9288:25): [True: 73, False: 0]
  ------------------
 9289|     73|            old_dtinit = get_te32(&d_info[2 + (0==d_info[0])]);
 9290|     73|            is_asl = 1u& get_te32(&d_info[0 + (0==d_info[0])]);
 9291|     73|        }
 9292|    175|        fi->seek(lsize - sz_d_info, SEEK_CUR);
 9293|    175|    }
 9294|       |
 9295|       |    // The gaps between PT_LOAD and after last PT_LOAD
 9296|  2.30k|    phdr = (Elf32_Phdr const *)(1+ (Elf32_Ehdr const *)(void const *)o_elfhdrs);
 9297|  2.30k|    upx_uint32_t hi_offset(0);
 9298|  3.73k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (9298:26): [True: 1.43k, False: 2.30k]
  ------------------
 9299|  1.43k|        if (is_LOAD(&phdr[j])
  ------------------
  |  Branch (9299:13): [True: 229, False: 1.20k]
  ------------------
 9300|    229|        &&  hi_offset < get_te32(&phdr[j].p_offset))
  ------------------
  |  Branch (9300:13): [True: 135, False: 94]
  ------------------
 9301|    135|            hi_offset = get_te32(&phdr[j].p_offset);
 9302|  1.43k|    }
 9303|  3.55k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (9303:26): [True: 1.28k, False: 2.27k]
  ------------------
 9304|  1.28k|        unsigned const size = find_LOAD_gap(phdr, j, u_phnum);
 9305|  1.28k|        if (size) {
  ------------------
  |  Branch (9305:13): [True: 188, False: 1.09k]
  ------------------
 9306|    188|            unsigned const where = get_te32(&phdr[j].p_offset) +
 9307|    188|                                   get_te32(&phdr[j].p_filesz);
 9308|    188|            if (fo)
  ------------------
  |  Branch (9308:17): [True: 188, False: 0]
  ------------------
 9309|    188|                fo->seek(where, SEEK_SET);
 9310|    188|            { // Recover from some piracy [also serves as error tolerance :-) ]
 9311|       |              // Getting past the loader is problematic, due to unintended
 9312|       |              // variances between released versions:
 9313|       |              //   l_info.l_lsize might be rounded up by 8 instead of by 4, and
 9314|       |              //   sz_d_info might have changed.
 9315|    188|                b_info b_peek, *bp = &b_peek;
 9316|    188|                fi->readx(bp, sizeof(b_peek));
 9317|    188|                upx_off_t pos = fi->seek(-(off_t)sizeof(b_peek), SEEK_CUR);
 9318|    188|                unsigned sz_unc = get_te32(&bp->sz_unc);
 9319|    188|                unsigned sz_cpr = get_te32(&bp->sz_cpr);
 9320|    188|                unsigned word3  = get_te32(&bp->b_method);
 9321|    188|                unsigned method = bp->b_method;
 9322|    188|                unsigned ftid = bp->b_ftid;
 9323|    188|                unsigned cto8 = bp->b_cto8;
 9324|    188|                if (!( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (9324:25): [True: 36, False: 152]
  |  Branch (9324:47): [True: 23, False: 13]
  |  Branch (9324:63): [True: 20, False: 3]
  ------------------
 9325|    168|                    || ((sz_cpr <  sz_unc)
  ------------------
  |  Branch (9325:25): [True: 126, False: 42]
  ------------------
 9326|    126|                        && (method == prev_method || M_NRV2B_LE32 == prev_method)
  ------------------
  |  |  617|     34|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (9326:29): [True: 92, False: 34]
  |  Branch (9326:54): [True: 0, False: 34]
  ------------------
 9327|     92|                        && (0 == ftid) && (0 == cto8)) )
  ------------------
  |  Branch (9327:28): [True: 91, False: 1]
  |  Branch (9327:43): [True: 90, False: 1]
  ------------------
 9328|    188|                ) {
 9329|     78|                    opt->info_mode++;
 9330|     78|                    infoWarning("bad b_info at %#zx", (size_t)pos);
 9331|     78|                    unsigned const N_PEEK(16 * sizeof(int)), H_PEEK(N_PEEK >> 1);
 9332|     78|                    unsigned char peek_arr[N_PEEK];
 9333|     78|                    fi->seek(pos - H_PEEK, SEEK_SET);
 9334|     78|                    fi->readx(peek_arr, sizeof(peek_arr));
 9335|     78|                    fi->seek(pos, SEEK_SET);
 9336|     78|                    bool const is_be = ELFDATA2MSB == ehdri.e_ident[EI_DATA];
 9337|     78|                    if (is_be) {
  ------------------
  |  Branch (9337:25): [True: 25, False: 53]
  ------------------
 9338|       |                        // Does the right thing for sz_unc and sz_cpr,
 9339|       |                        // but swaps b_method and b_extra.  Need find_be32() :-)
 9340|    425|                        for (unsigned k = 0; k < N_PEEK; k += sizeof(int)) {
  ------------------
  |  Branch (9340:46): [True: 400, False: 25]
  ------------------
 9341|    400|                            set_le32(&peek_arr[k], get_be32(&peek_arr[k]));
 9342|    400|                        }
 9343|     25|                    }
 9344|     78|                    int boff = find_le32(peek_arr, sizeof(peek_arr), size);
 9345|     78|                    if (boff < 0 || sizeof(peek_arr) < (sizeof(*bp) + boff)) {
  ------------------
  |  Branch (9345:25): [True: 33, False: 45]
  |  Branch (9345:37): [True: 1, False: 44]
  ------------------
 9346|     33|                        throwCantUnpack("b_info corrupted");
 9347|     33|                    }
 9348|     45|                    bp = (b_info *)(void *)&peek_arr[boff];
 9349|       |
 9350|     45|                    sz_unc = get_le32(&bp->sz_unc);
 9351|     45|                    sz_cpr = get_le32(&bp->sz_cpr);
 9352|     45|                    word3  = get_le32(&bp->b_method);
 9353|     45|                    ftid = bp->b_ftid;
 9354|     45|                    cto8 = bp->b_cto8;
 9355|     45|                    if (0 <= boff  // found
  ------------------
  |  Branch (9355:25): [True: 44, False: 1]
  ------------------
 9356|     44|                    && ( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (9356:27): [True: 13, False: 31]
  |  Branch (9356:49): [True: 6, False: 7]
  |  Branch (9356:65): [True: 6, False: 0]
  ------------------
 9357|     38|                      || ((sz_cpr <  sz_unc) && (0 == ftid) && (0 == cto8)
  ------------------
  |  Branch (9357:27): [True: 26, False: 12]
  |  Branch (9357:49): [True: 24, False: 2]
  |  Branch (9357:64): [True: 22, False: 2]
  ------------------
 9358|     22|                          && ((is_be ? bp->b_extra : bp->b_method) == prev_method)) )
  ------------------
  |  Branch (9358:30): [True: 18, False: 4]
  |  Branch (9358:32): [True: 8, False: 14]
  ------------------
 9359|     45|                    ) {
 9360|     24|                        pos -= H_PEEK;
 9361|     24|                        pos += boff;
 9362|     24|                        infoWarning("... recovery at %#zx", (size_t)pos);
 9363|     24|                        fi->seek(pos, SEEK_SET);
 9364|     24|                    }
 9365|     45|                    opt->info_mode--;
 9366|     45|                }
 9367|    188|            }
 9368|    155|            unpackExtent(size, fo,
 9369|    155|                c_adler, u_adler, false,
 9370|    155|                (hi_offset != get_te32(&phdr[j].p_offset)));
 9371|    155|        }
 9372|  1.28k|    }
 9373|       |
 9374|       |    // check for end-of-file
 9375|  2.27k|    fi->readx(&bhdr, szb_info);
 9376|  2.27k|    ph.set_method(bhdr.b_method, ~0u);
 9377|  2.27k|    unsigned const sz_unc = ph.u_len = get_te32(&bhdr.sz_unc);
 9378|       |
 9379|  2.27k|    if (sz_unc == 0) { // uncompressed size 0 -> EOF
  ------------------
  |  Branch (9379:9): [True: 106, False: 2.16k]
  ------------------
 9380|       |        // note: magic is always stored le32
 9381|    106|        unsigned const sz_cpr = get_le32(&bhdr.sz_cpr);
 9382|    106|        if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  537|    106|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9382:13): [True: 23, False: 83]
  ------------------
 9383|     23|            throwCompressedDataViolation();
 9384|    106|    }
 9385|  2.16k|    else { // extra bytes after end?
 9386|  2.16k|        throwCompressedDataViolation();
 9387|  2.16k|    }
 9388|       |
 9389|     83|    if (is_shlib) {
  ------------------
  |  Branch (9389:9): [True: 49, False: 34]
  ------------------
 9390|     49|        un_DT_INIT(old_dtinit, (Elf32_Phdr *)(1+ (Elf32_Ehdr *)(void *)o_elfhdrs), dynhdr, fo);
 9391|     49|    }
 9392|       |
 9393|       |    // update header with totals
 9394|     83|    ph.c_len = total_in;
 9395|     83|    ph.u_len = total_out;
 9396|       |
 9397|       |    // all bytes must be written
 9398|     83|    if (fo && total_out != orig_file_size)
  ------------------
  |  Branch (9398:9): [True: 34, False: 49]
  |  Branch (9398:15): [True: 1, False: 33]
  ------------------
 9399|      1|        throwEOFException();
 9400|       |
 9401|       |    // finally test the checksums
 9402|     82|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (9402:9): [True: 68, False: 14]
  |  Branch (9402:34): [True: 1, False: 13]
  ------------------
 9403|     20|        throwChecksumError();
 9404|     82|}
p_lx_elf.cpp:_ZL16alloc_file_imageR9MemBufferx:
  140|  15.8k|{
  141|  15.8k|    assert(mem_size_valid_bytes(size));
  ------------------
  |  |  496|  15.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  142|  15.8k|    if (mb.getVoidPtr() == nullptr) {
  ------------------
  |  Branch (142:9): [True: 15.3k, False: 533]
  ------------------
  143|  15.3k|        mb.alloc(size);
  144|  15.3k|    } else {
  145|    533|        assert((u32_t)size <= mb.getSize());
  ------------------
  |  |  496|    533|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  1.06k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 533, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  146|    533|    }
  147|  15.8k|}
p_lx_elf.cpp:_ZL3up4j:
   78|  1.43k|{
   79|  1.43k|    return ~3u & (3+ x);
   80|  1.43k|}
p_lx_elf.cpp:_ZL7is_pow2y:
  451|  11.3k|{
  452|  11.3k|    return !((-1+ x) & x);
  453|  11.3k|}
p_lx_elf.cpp:_ZL13qcmp_unsignedPKvS0_:
 2334|  8.56k|{
 2335|  8.56k|    unsigned a = *(unsigned const *)aa;
 2336|  8.56k|    unsigned b = *(unsigned const *)bb;
 2337|  8.56k|    if (a < b) return -1;
  ------------------
  |  Branch (2337:9): [True: 6.05k, False: 2.50k]
  ------------------
 2338|  2.50k|    if (a > b) return  1;
  ------------------
  |  Branch (2338:9): [True: 2.36k, False: 146]
  ------------------
 2339|    146|    return  0;
 2340|  2.50k|}
p_lx_elf.cpp:_ZL7funpad4P9InputFile:
  132|    122|{
  133|    122|    unsigned d = 3u & (0 - fi->tell());
  134|    122|    if (d)
  ------------------
  |  Branch (134:9): [True: 117, False: 5]
  ------------------
  135|    117|        fi->seek(d, SEEK_CUR);
  136|    122|    return d;
  137|    122|}

_ZN16PackLinuxElf32BeC2EP9InputFile:
  470|  27.1k|    PackLinuxElf32Be(InputFile *f) : super(f) {
  471|  27.1k|        bele = &N_BELE_RTP::be_policy;
  472|  27.1k|        PackLinuxElf32help1(f);
  473|  27.1k|    }
_ZN16PackLinuxElf64LeC2EP9InputFile:
  490|  38.7k|    PackLinuxElf64Le(InputFile *f) : super(f) {
  491|  38.7k|        lg2_page=16;
  492|  38.7k|        page_size=1u<<lg2_page;
  493|  38.7k|        bele = &N_BELE_RTP::le_policy;
  494|  38.7k|        PackLinuxElf64help1(f);
  495|  38.7k|    }
_ZN16PackLinuxElf64BeC2EP9InputFile:
  502|  8.11k|    PackLinuxElf64Be(InputFile *f) : super(f) {
  503|  8.11k|        lg2_page=16;
  504|  8.11k|        page_size=1u<<lg2_page;
  505|  8.11k|        bele = &N_BELE_RTP::be_policy;
  506|  8.11k|        PackLinuxElf64help1(f);
  507|  8.11k|    }
_ZN12PackLinuxElf9canUnpackEv:
   46|  9.23k|    virtual tribool canUnpack() override { return super::canUnpack(); } // bool, except -1: format known, but not packed
_ZN16PackLinuxElf32LeC2EP9InputFile:
  480|  76.3k|    PackLinuxElf32Le(InputFile *f) : super(f) {
  481|  76.3k|        bele = &N_BELE_RTP::le_policy;
  482|  76.3k|        PackLinuxElf32help1(f);
  483|  76.3k|    }
_ZNK12PackLinuxElf10getVersionEv:
   44|   156k|    virtual int getVersion() const override { return 14; } // upx-3.96 cannot unpack, for instance
_ZNK12PackLinuxElf16canUnpackVersionEi:
   45|  8.91k|    virtual bool canUnpackVersion(int version) const override { return (version >= 11); }
_ZNK17PackLinuxElf32ppc9getFormatEv:
  576|  18.6k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_PPC32; }
  ------------------
  |  |  604|  18.6k|#define UPX_F_LINUX_ELF32_PPC32 132
  ------------------
_ZNK17PackLinuxElf32ppc7getNameEv:
  577|      2|    virtual const char *getName() const override { return "linux/ppc32"; }
_ZNK19PackLinuxElf64ppcle9getFormatEv:
  596|  15.2k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_PPC64LE; }
  ------------------
  |  |  592|  15.2k|#define UPX_F_LINUX_ELF64_PPC64LE 39
  ------------------
_ZNK19PackLinuxElf64ppcle7getNameEv:
  597|      3|    virtual const char *getName() const override { return "linux/ppc64le"; }
_ZNK17PackLinuxElf64ppc9getFormatEv:
  615|  15.3k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_PPC64; }
  ------------------
  |  |  612|  15.3k|#define UPX_F_LINUX_ELF64_PPC64 140
  ------------------
_ZNK17PackLinuxElf64ppc7getNameEv:
  616|      1|    virtual const char *getName() const override { return "linux/ppc64"; }
_ZNK17PackLinuxElf64amd9getFormatEv:
  521|  25.5k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_AMD64; }
  ------------------
  |  |  575|  25.5k|#define UPX_F_LINUX_ELF64_AMD64   22
  ------------------
_ZNK17PackLinuxElf64amd7getNameEv:
  522|      6|    virtual const char *getName() const override { return "linux/amd64"; }
_ZNK17PackLinuxElf64arm9getFormatEv:
  538|  18.0k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_ARM64; }
  ------------------
  |  |  595|  18.0k|#define UPX_F_LINUX_ELF64_ARM64   42
  ------------------
_ZNK17PackLinuxElf64arm7getNameEv:
  539|      3|    virtual const char *getName() const override { return "linux/arm64"; }
_ZNK21PackLinuxElf64riscv649getFormatEv:
  555|  17.9k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_RISCV64; }
  ------------------
  |  |  598|  17.9k|#define UPX_F_LINUX_ELF64_RISCV64 45
  ------------------
_ZNK17PackLinuxElf32x869getFormatEv:
  638|  30.3k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF_i386; }
  ------------------
  |  |  565|  30.3k|#define UPX_F_LINUX_ELF_i386      12
  ------------------
_ZNK17PackLinuxElf32x867getNameEv:
  639|      4|    virtual const char *getName() const override { return "linux/i386"; }
_ZNK19PackFreeBSDElf32x869getFormatEv:
  675|  30.4k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  578|  30.4k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK18PackNetBSDElf32x869getFormatEv:
  686|  30.3k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  578|  30.3k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK19PackOpenBSDElf32x869getFormatEv:
  704|  30.3k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  578|  30.3k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK19PackLinuxElf32armLe9getFormatEv:
  728|  21.3k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_ARM; }
  ------------------
  |  |  576|  21.3k|#define UPX_F_LINUX_ELF32_ARM     23
  ------------------
_ZNK19PackLinuxElf32armLe7getNameEv:
  729|      2|    virtual const char *getName() const override { return "linux/arm"; }
_ZNK20PackLinuxElf32mipseb9getFormatEv:
  766|  15.2k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_MIPS; }
  ------------------
  |  |  609|  15.2k|#define UPX_F_LINUX_ELF32_MIPS  137
  ------------------
_ZNK20PackLinuxElf32mipseb7getNameEv:
  767|      1|    virtual const char *getName() const override { return "linux/mips"; }
_ZNK20PackLinuxElf32mipsel9getFormatEv:
  784|  15.2k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_MIPSEL; }
  ------------------
  |  |  583|  15.2k|#define UPX_F_LINUX_ELF32_MIPSEL  30
  ------------------
_ZNK20PackLinuxElf32mipsel7getNameEv:
  785|      2|    virtual const char *getName() const override { return "linux/mipsel"; }
_ZNK19PackLinuxElf32armBe9getFormatEv:
  747|  19.5k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_ARMEB; }
  ------------------
  |  |  605|  19.5k|#define UPX_F_LINUX_ELF32_ARMEB 133
  ------------------
_ZNK19PackLinuxElf32armBe7getNameEv:
  748|      2|    virtual const char *getName() const override { return "linux/armeb"; }

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

_ZNK13PackLinuxI3869getFormatEv:
   47|  17.0k|    virtual int getFormat() const override { return UPX_F_LINUX_i386; }
  ------------------
  |  |  563|  17.0k|#define UPX_F_LINUX_i386          10
  ------------------
_ZNK13PackLinuxI3867getNameEv:
   48|     16|    virtual const char *getName() const override { return "linux.exec/i386"; }
_ZNK11PackBSDI3869getFormatEv:
  134|  17.3k|    virtual int getFormat() const override { return UPX_F_BSD_i386; }
  ------------------
  |  |  577|  17.3k|#define UPX_F_BSD_i386            24
  ------------------

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

_ZNK15PackLinuxI386sh10getVersionEv:
   44|  10.2k|    virtual int getVersion() const override { return 13; }
_ZNK15PackLinuxI386sh9getFormatEv:
   45|  17.7k|    virtual int getFormat() const override { return UPX_F_LINUX_SH_i386; }
  ------------------
  |  |  567|  17.7k|#define UPX_F_LINUX_SH_i386       14
  ------------------
_ZNK15PackLinuxI386sh16canUnpackVersionEi:
   57|  2.64k|        { 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.85k|PackDylibAMD64::PackDylibAMD64(InputFile *f) : super(f)
  244|  5.85k|{
  245|  5.85k|    my_filetype = Mach_header::MH_DYLIB;
  246|  5.85k|}
_ZN14PackDylibPPC32C2EP9InputFile:
  248|      7|PackDylibPPC32::PackDylibPPC32(InputFile *f) : super(f)
  249|      7|{
  250|      7|    my_filetype = Mach_header::MH_DYLIB;
  251|      7|}
_ZN14PackDylibPPC64C2EP9InputFile:
  252|      7|PackDylibPPC64::PackDylibPPC64(InputFile *f) : super(f)
  253|      7|{
  254|      7|    my_filetype = Mach_header::MH_DYLIB;
  255|      7|}
_ZN13PackMachPPC32C2EP9InputFile:
  270|  5.81k|PackMachPPC32::PackMachPPC32(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC,
  271|  5.81k|        Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE,
  272|  5.81k|        sizeof(Mach_ppc_thread_state)>>2, sizeof(threado), 12)
  273|  5.81k|{ }
_ZN13PackMachPPC64C2EP9InputFile:
  275|     14|PackMachPPC64::PackMachPPC64(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC64,
  276|     14|        Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE64,
  277|     14|        sizeof(Mach_ppc_thread_state64)>>2, sizeof(threado), 16)
  278|     14|{ }
_ZN12PackMachI386C2EP9InputFile:
  292|  5.07k|PackMachI386::PackMachI386(InputFile *f) : super(f, Mach_header::CPU_TYPE_I386,
  293|  5.07k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE32,
  294|  5.07k|        sizeof(Mach_i386_thread_state)>>2, sizeof(threado), 12)
  295|  5.07k|{ }
_ZN13PackMachAMD64C2EP9InputFile:
  303|  10.8k|PackMachAMD64::PackMachAMD64(InputFile *f) : super(f, Mach_header::CPU_TYPE_X86_64,
  304|  10.8k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE64,
  305|  10.8k|        sizeof(Mach_AMD64_thread_state)>>2, sizeof(threado), 12)
  306|  10.8k|{ }
_ZN13PackMachARMELC2EP9InputFile:
  314|  4.50k|PackMachARMEL::PackMachARMEL(InputFile *f) : super(f, Mach_header::CPU_TYPE_ARM,
  315|  4.50k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::ARM_THREAD_STATE,
  316|  4.50k|        sizeof(Mach_ARM_thread_state)>>2, sizeof(threado), 12)
  317|  4.50k|{ }
_ZN15PackMachARM64ELC2EP9InputFile:
  319|  3.99k|PackMachARM64EL::PackMachARM64EL(InputFile *f) : super(f, Mach_header::CPU_TYPE_ARM64,
  320|  3.99k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::ARM_THREAD_STATE64,
  321|  3.99k|        sizeof(Mach_ARM64_thread_state)>>2, sizeof(threado), 14)
  322|  3.99k|{ }
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  5.81k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  5.81k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  5.81k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  5.81k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  5.81k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  5.81k|{
  225|  5.81k|    MachClass::compileTimeAssertions();
  226|  5.81k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  5.81k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  5.81k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  5.81k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  5.81k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  5.81k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEED2Ev:
  235|  5.81k|{
  236|  5.81k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE6unpackEP10OutputFile:
 1476|    136|{
 1477|    136|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1478|    136|    fi->seek(0, SEEK_SET);
 1479|    136|    fi->readx(&mhdri, sizeof(mhdri));
 1480|    136|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1480:9): [True: 0, False: 136]
  ------------------
 1481|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1481:9): [True: 0, False: 0]
  ------------------
 1482|      0|        throwCantUnpack("file header corrupted");
 1483|      0|    }
 1484|    136|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1485|    136|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1485:9): [True: 0, False: 136]
  ------------------
 1486|      0|        throwCantUnpack("file header corrupted");
 1487|      0|    }
 1488|    136|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1489|    136|    rawmseg_buf.alloc(sz_cmds);
 1490|    136|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1491|    136|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1492|       |
 1493|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1494|       |    // but canUnpack() sets overlay_offset anyway.
 1495|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1496|       |
 1497|    136|    fi->seek(overlay_offset, SEEK_SET);
 1498|    136|    p_info hbuf;
 1499|    136|    fi->readx(&hbuf, sizeof(hbuf));
 1500|    136|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1501|    136|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1502|    136|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  173|     98|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1502:9): [True: 38, False: 98]
  |  Branch (1502:39): [True: 20, False: 78]
  ------------------
 1503|     56|        throwCantUnpack("file header corrupted");
 1504|     80|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1504:9): [True: 23, False: 57]
  ------------------
 1505|     23|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1505:27): [True: 23, False: 0]
  ------------------
 1506|     23|        opt->backup = 1;
 1507|     23|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1508|     23|    }
 1509|       |
 1510|     80|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 1511|     80|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1512|     80|    fi->readx(&bhdr, sizeof(bhdr));
 1513|     80|    ph.u_len = get_te32(&bhdr.sz_unc);
 1514|     80|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1515|     80|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len < sizeof(mhdri))
  ------------------
  |  Branch (1515:9): [True: 35, False: 45]
  |  Branch (1515:43): [True: 26, False: 19]
  |  Branch (1515:60): [True: 3, False: 16]
  ------------------
 1516|     59|        throwCantUnpack("file header corrupted");
 1517|     21|    ph.method = bhdr.b_method;
 1518|     21|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  617|     42|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1518:9): [True: 11, False: 10]
  ------------------
 1519|     10|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  632|     10|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1519:9): [True: 2, False: 8]
  ------------------
 1520|      8|        throwCantUnpack("file header bad method");
 1521|     13|    ph.filter = bhdr.b_ftid;
 1522|     13|    ph.filter_cto = bhdr.b_cto8;
 1523|       |
 1524|       |    // Uncompress Macho headers
 1525|     13|    fi->readx(ibuf, ph.c_len);
 1526|     13|    MemBuffer mhdr_buf(ph.u_len);
 1527|     13|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1528|     13|    decompress(ibuf, (upx_byte *)mhdr, false);
 1529|     13|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1529:9): [True: 13, False: 0]
  ------------------
 1530|      0|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1530:9): [True: 0, False: 0]
  ------------------
 1531|      0|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1531:9): [True: 0, False: 0]
  ------------------
 1532|      0|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1532:9): [True: 0, False: 0]
  ------------------
 1533|      2|        throwCantUnpack("file header corrupted");
 1534|     11|    unsigned const ncmds = mhdr->ncmds;
 1535|     11|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1472|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1535:9): [True: 11, False: 0]
  |  Branch (1535:19): [True: 0, False: 0]
  ------------------
 1536|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1537|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1538|      0|        throwCantUnpack(msg);
 1539|      0|    }
 1540|       |
 1541|     11|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1542|     11|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1543|     11|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1544|     11|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1545|     11|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1545:25): [True: 0, False: 11]
  ------------------
 1546|      0|        if (headway < sizeof(Mach_command))
  ------------------
  |  Branch (1546:13): [True: 0, False: 0]
  ------------------
 1547|      0|            throwCantUnpack("bad packed Mach load_command");
 1548|      0|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1549|      0|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1549:13): [True: 0, False: 0]
  ------------------
 1550|      0|                headway, lc_seg, sizeof(Addr))) {
 1551|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1552|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1553|      0|            throwCantUnpack(msg);
 1554|      0|        }
 1555|      0|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  512|      0|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1556|      0|        headway -= cmdsize;
 1557|      0|        ptr     += cmdsize;
 1558|      0|    }
 1559|       |
 1560|       |    // Put LC_SEGMENT together at the beginning
 1561|     11|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  237|     11|#define upx_qsort ::qsort
  ------------------
 1562|     11|    n_segment = 0;
 1563|     11|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1563:25): [True: 0, False: 11]
  ------------------
 1564|      0|        n_segment += (lc_seg==msegcmd[j].cmd);
 1565|      0|    }
 1566|       |
 1567|     11|    total_in = 0;
 1568|     11|    total_out = 0;
 1569|     11|    unsigned c_adler = upx_adler32(nullptr, 0);
 1570|     11|    unsigned u_adler = upx_adler32(nullptr, 0);
 1571|       |
 1572|     11|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1573|     11|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1573:26): [True: 0, False: 11]
  ------------------
 1574|      0|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1574:13): [True: 0, False: 0]
  |  Branch (1574:39): [True: 0, False: 0]
  ------------------
 1575|      0|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1575:17): [True: 0, False: 0]
  ------------------
 1576|      0|                segTEXT = msegcmd[k];
 1577|      0|            }
 1578|      0|            if (fo)
  ------------------
  |  Branch (1578:17): [True: 0, False: 0]
  ------------------
 1579|      0|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1580|      0|            unpackExtent(msegcmd[k].filesize, fo,
 1581|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1582|      0|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1582:17): [True: 0, False: 0]
  ------------------
 1583|      0|                break;  // only the first lc_seg when MH_DYLIB
 1584|      0|            }
 1585|      0|        }
 1586|      0|    }
 1587|     11|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1588|     11|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1588:9): [True: 0, False: 11]
  ------------------
 1589|       |        // rawmseg holds mhdri.ncmds load commands (canUnpack bounds-checked them),
 1590|       |        // but the walk below counts with ncmds from the decompressed header
 1591|      0|        if (mhdri.ncmds != mhdr->ncmds)
  ------------------
  |  Branch (1591:13): [True: 0, False: 0]
  ------------------
 1592|      0|            throwCantUnpack("file header corrupted");
 1593|      0|        upx_uint64_t cpr_mod_init_func(0);
 1594|      0|                TE32 unc_mod_init_func = {}; // *(int *)&unc_mod_init_func = 0;
 1595|      0|        Mach_segment_command const *rc = rawmseg;
 1596|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1597|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1598|      0|        for (
 1599|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1600|      0|            k < ncmds;
  ------------------
  |  Branch (1600:13): [True: 0, False: 0]
  ------------------
 1601|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1602|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1603|      0|        ) {
 1604|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1604:17): [True: 0, False: 0]
  ------------------
 1605|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1605:17): [True: 0, False: 0]
  ------------------
 1606|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1606:21): [True: 0, False: 0]
  ------------------
 1607|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1608|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1609|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1610|      0|                }
 1611|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1612|      0|                if (fo)
  ------------------
  |  Branch (1612:21): [True: 0, False: 0]
  ------------------
 1613|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1614|      0|                unsigned const len = rc->filesize;
 1615|      0|                MemBuffer data(len);
 1616|      0|                fi->readx(data, len);
 1617|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1617:21): [True: 0, False: 0]
  ------------------
 1618|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1619|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1619:25): [True: 0, False: 0]
  |  Branch (1619:60): [True: 0, False: 0]
  ------------------
 1620|      0|                        throwCantUnpack("bad __mod_init_func");
 1621|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1622|      0|                }
 1623|      0|                if (fo)
  ------------------
  |  Branch (1623:21): [True: 0, False: 0]
  ------------------
 1624|      0|                    fo->write(data, len);
 1625|      0|            }
 1626|      0|        }
 1627|      0|    }
 1628|     11|    else
 1629|     11|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1629:26): [True: 0, False: 11]
  ------------------
 1630|      0|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1631|      0|        if (size) {
  ------------------
  |  Branch (1631:13): [True: 0, False: 0]
  ------------------
 1632|      0|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1633|      0|            if (fo)
  ------------------
  |  Branch (1633:17): [True: 0, False: 0]
  ------------------
 1634|      0|                fo->seek(where, SEEK_SET);
 1635|      0|            unpackExtent(size, fo,
 1636|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1637|      0|        }
 1638|      0|    }
 1639|     11|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
 1644|  5.81k|{
 1645|  5.81k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1646|  5.81k|    fi->seek(0, SEEK_SET);
 1647|  5.81k|    fi->readx(&mhdri, sizeof(mhdri));
 1648|       |
 1649|  5.81k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1649:9): [True: 4.84k, False: 970]
  ------------------
 1650|    970|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1650:9): [True: 41, False: 929]
  ------------------
 1651|    929|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1651:9): [True: 16, False: 913]
  ------------------
 1652|  5.81k|    )
 1653|  4.90k|        return false;
 1654|    913|    my_cpusubtype = mhdri.cpusubtype;
 1655|       |
 1656|    913|    unsigned const ncmds = mhdri.ncmds;
 1657|    913|    int headway = (int)mhdri.sizeofcmds;
 1658|    913|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1472|    912|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1658:9): [True: 1, False: 912]
  |  Branch (1658:19): [True: 44, False: 868]
  |  Branch (1658:41): [True: 18, False: 850]
  ------------------
 1659|    850|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1659:10): [True: 45, False: 805]
  ------------------
 1660|    108|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|    108|#define snprintf  upx_safe_snprintf
  ------------------
 1661|    108|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1662|    108|        throwCantUnpack(msg);
 1663|    108|    }
 1664|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1665|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1666|    805|    if ((2 == ncmds
  ------------------
  |  Branch (1666:10): [True: 25, False: 780]
  ------------------
 1667|     25|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1667:12): [True: 1, False: 24]
  ------------------
 1668|    804|    ||  (3 <= ncmds
  ------------------
  |  Branch (1668:10): [True: 671, False: 133]
  ------------------
 1669|    671|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1669:12): [True: 7, False: 664]
  ------------------
 1670|    671|                    + sizeof(Mach_main_command)))) {
 1671|      8|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1672|      8|        throwCantUnpack("file corrupted");
 1673|      8|    }
 1674|    797|    sz_mach_headers = headway + sizeof(mhdri);
 1675|    797|    if (2048 < headway) {
  ------------------
  |  Branch (1675:9): [True: 7, False: 790]
  ------------------
 1676|      7|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1677|      7|    }
 1678|    797|    if (!headway) {
  ------------------
  |  Branch (1678:9): [True: 0, False: 797]
  ------------------
 1679|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1680|      0|    }
 1681|    797|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1682|    797|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1683|    797|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1684|       |
 1685|    797|    Mach_segment_command const *ptrTEXT = nullptr;
 1686|    797|    upx_uint64_t rip = 0;
 1687|    797|    unsigned style = 0;
 1688|    797|    off_t offLINK = 0;
  ------------------
  |  |  219|    797|#define off_t upx_off_t
  ------------------
 1689|    797|    unsigned pos_next = 0;
 1690|    797|    unsigned nseg = 0;
 1691|    797|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1692|  3.03k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1692:25): [True: 2.52k, False: 505]
  ------------------
 1693|  2.52k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1694|  2.52k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1694:13): [True: 8, False: 2.52k]
  ------------------
 1695|      8|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      8|#define snprintf  upx_safe_snprintf
  ------------------
 1696|      8|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1697|      8|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1698|      8|            throwCantPack(buf);
 1699|      8|        }
 1700|  2.52k|        unsigned const cmd = ptr->cmd;
 1701|  2.52k|        unsigned const cmdsize = ptr->cmdsize;
 1702|  2.52k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1702:13): [True: 221, False: 2.29k]
  ------------------
 1703|    221|                opt->info_mode += 1;
 1704|    221|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1705|    221|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1706|    221|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1707|    221|                opt->info_mode -= 1;
 1708|    221|                throwCantUnpack("file corrupted");
 1709|    221|        }
 1710|  2.29k|        headway -= cmdsize;
 1711|  2.29k|        if (headway < 0) {
  ------------------
  |  Branch (1711:13): [True: 0, False: 2.29k]
  ------------------
 1712|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1713|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1714|      0|                (unsigned)ptr->cmdsize);
 1715|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1716|      0|        }
 1717|  2.29k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1717:13): [True: 1.68k, False: 619]
  ------------------
 1718|  1.68k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1719|  1.68k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1719:17): [True: 35, False: 1.64k]
  ------------------
 1720|  1.64k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1720:17): [True: 24, False: 1.62k]
  ------------------
 1721|  1.62k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1721:17): [True: 4, False: 1.61k]
  ------------------
 1722|     63|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1723|     63|                      "  filesize=0x%lx  fileoff=0x%lx",
 1724|     63|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1725|     63|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1726|     63|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1727|     63|                throwCantUnpack("file corrupted");
 1728|     63|            }
 1729|  1.61k|            ++nseg;
 1730|  1.61k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1730:17): [True: 12, False: 1.60k]
  ------------------
 1731|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1732|     12|                style = 391;  // UPX 3.91
 1733|     12|            }
 1734|  1.61k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1734:17): [True: 61, False: 1.55k]
  ------------------
 1735|     61|                ptrTEXT = segptr;
 1736|     61|                style = 391;  // UPX 3.91
 1737|     61|            }
 1738|  1.61k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1738:17): [True: 22, False: 1.59k]
  ------------------
 1739|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1740|     22|                style = 392;  // UPX 3.92
 1741|     22|            }
 1742|  1.61k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1742:17): [True: 537, False: 1.08k]
  ------------------
 1743|    537|                offLINK = segptr->fileoff;
 1744|    537|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1744:21): [True: 104, False: 433]
  ------------------
 1745|    104|                    style = 395;
 1746|    104|                }
 1747|    537|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1747:21): [True: 379, False: 158]
  ------------------
 1748|    379|                    offLINK = pos_next;
 1749|    379|                }
 1750|    537|            }
 1751|  1.61k|            pos_next = segptr->filesize + segptr->fileoff;
 1752|  1.61k|        }
 1753|    619|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1753:18): [True: 250, False: 369]
  ------------------
 1754|    250|            rip = entryVMA = threadc_getPC(ptr);
 1755|    250|        }
 1756|  2.29k|    }
 1757|    505|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1757:9): [True: 378, False: 127]
  |  Branch (1757:20): [True: 374, False: 4]
  ------------------
 1758|    374|        style = 392;
 1759|    374|    }
 1760|    505|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1760:9): [True: 8, False: 497]
  |  Branch (1760:23): [True: 5, False: 3]
  |  Branch (1760:37): [True: 3, False: 2]
  |  Branch (1760:49): [True: 2, False: 1]
  ------------------
 1761|      2|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1762|      2|    }
 1763|    505|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1763:9): [True: 22, False: 483]
  |  Branch (1763:23): [True: 12, False: 471]
  ------------------
 1764|     24|        return false;
 1765|     24|    }
 1766|       |
 1767|    481|    int const small = 32 + sizeof(overlay_offset);
 1768|    481|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1769|    481|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1769:9): [True: 4, False: 477]
  ------------------
 1770|      4|        fi->seek(offLINK - bufsize, SEEK_SET);
 1771|      4|    } else
 1772|    477|    if (392 == style) {
  ------------------
  |  Branch (1772:9): [True: 366, False: 111]
  ------------------
 1773|    366|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1773:13): [True: 0, False: 366]
  ------------------
 1774|      0|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1775|      0|        }
 1776|    366|        else { // PackHeader follows loader at __LINKEDIT
 1777|    366|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1777:17): [True: 352, False: 14]
  ------------------
 1778|    352|                bufsize = fi->st_size() - offLINK;
 1779|    352|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1779:21): [True: 6, False: 346]
  ------------------
 1780|      6|                    throwCantUnpack("bad offLINK %p %p",
 1781|      6|                        (void *)offLINK, (void *)file_size);
 1782|      6|                }
 1783|    352|            }
 1784|    360|            fi->seek(offLINK, SEEK_SET);
 1785|    360|        }
 1786|    366|    } else
 1787|    111|    if (395 == style) {
  ------------------
  |  Branch (1787:9): [True: 101, False: 10]
  ------------------
 1788|    101|        fi->seek(offLINK - bufsize, SEEK_SET);
 1789|    101|    }
 1790|    475|    MemBuffer buf(bufsize);
 1791|    475|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1792|    475|    buf3.clear();
 1793|       |
 1794|    475|    fi->readx(buf, bufsize);
 1795|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1796|       |
 1797|    475|    int i = bufsize;
 1798|  1.77k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1798:12): [True: 1.51k, False: 262]
  |  Branch (1798:25): [True: 1.30k, False: 213]
  ------------------
 1799|    475|    i -= small;
 1800|       |    // allow incompressible extents
 1801|    475|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1801:9): [True: 265, False: 210]
  |  Branch (1801:18): [True: 210, False: 0]
  ------------------
 1802|       |        // Breadcrumbs failed.
 1803|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1804|    458|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1804:38): [True: 30, False: 428]
  ------------------
 1805|    458|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1805:13): [True: 30, False: 428]
  |  Branch (1805:24): [True: 28, False: 2]
  |  Branch (1805:31): [True: 2, False: 26]
  ------------------
 1806|      2|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1807|      2|            fi->readx(buf3, bufsize);
 1808|      2|            unsigned char const *b = &buf3[0];
 1809|      2|            unsigned disp = *(TE32 const *)&b[1];
 1810|      2|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1810:17): [True: 0, False: 2]
  ------------------
 1811|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1811:21): [True: 0, False: 0]
  |  Branch (1811:35): [True: 0, False: 0]
  ------------------
 1812|       |                    // disp and the b_info that follow it are used as raw offsets
 1813|       |                    // into buf3, which holds only bufsize bytes that were read.
 1814|      0|                    && (disp + 11 + sizeof(struct b_info)) <= bufsize
  ------------------
  |  Branch (1814:24): [True: 0, False: 0]
  ------------------
 1815|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1816|       |                    // searching for "executable_path=" etc.
 1817|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1817:21): [True: 0, False: 0]
  |  Branch (1817:40): [True: 0, False: 0]
  ------------------
 1818|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1819|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1819:25): [True: 0, False: 0]
  |  Branch (1819:46): [True: 0, False: 0]
  ------------------
 1820|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1821|       |                        // This is the folded stub.
 1822|       |                        // FIXME: check b_method?
 1823|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000
  ------------------
  |  Branch (1823:29): [True: 0, False: 0]
  |  Branch (1823:60): [True: 0, False: 0]
  ------------------
 1824|       |                            // overlay_offset is read at (32 + b); keep that read
 1825|       |                            // inside the bytes that were read into buf3.
 1826|      0|                        && ((11 + disp + sizeof(struct b_info) + (unsigned) bptr->sz_cpr)
  ------------------
  |  Branch (1826:28): [True: 0, False: 0]
  ------------------
 1827|      0|                                + 32 + sizeof(TE32)) <= bufsize) {
 1828|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1829|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1830|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1831|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1831:33): [True: 0, False: 0]
  ------------------
 1832|      0|                                return true;  // success
 1833|      0|                            }
 1834|      0|                            overlay_offset = 0;  // failure
 1835|      0|                        }
 1836|      0|                    }
 1837|      0|                }
 1838|      0|            }
 1839|      2|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1839:17): [True: 0, False: 2]
  ------------------
 1840|      0|                infoWarning("file corrupted: %s", fi->getName());
 1841|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1842|      0|                fi->readx(buf3, bufsize);
 1843|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1844|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1844:24): [True: 0, False: 0]
  ------------------
 1845|      0|                    unsigned x = *p;
 1846|      0|                    if (x) {
  ------------------
  |  Branch (1846:25): [True: 0, False: 0]
  ------------------
 1847|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1847:29): [True: 0, False: 0]
  |  Branch (1847:40): [True: 0, False: 0]
  ------------------
 1848|      0|                            fi->seek(0, SEEK_SET);
 1849|      0|                            fi->readx(buf3, bufsize);
 1850|      0|                            p = (unsigned const *)&buf3[x];
 1851|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1851:33): [True: 0, False: 0]
  |  Branch (1851:46): [True: 0, False: 0]
  |  Branch (1851:59): [True: 0, False: 0]
  ------------------
 1852|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1852:33): [True: 0, False: 0]
  |  Branch (1852:59): [True: 0, False: 0]
  ------------------
 1853|      0|                            ) {
 1854|      0|                                overlay_offset = x;
 1855|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1856|      0|                                    overlay_offset);
 1857|      0|                                return true;
 1858|      0|                            }
 1859|      0|                        }
 1860|      0|                        break;
 1861|      0|                    }
 1862|      0|                }
 1863|      0|            }
 1864|      2|        }
 1865|    458|        if (391==style) {
  ------------------
  |  Branch (1865:13): [True: 2, False: 456]
  ------------------
 1866|      2|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1867|      2|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1867:20): [True: 0, False: 2]
  ------------------
 1868|      2|            overlay_offset = *uptr;
 1869|      2|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1869:17): [True: 0, False: 2]
  |  Branch (1869:55): [True: 0, False: 0]
  ------------------
 1870|      0|                return true;  // success
 1871|      0|            }
 1872|      2|            overlay_offset = 0;
 1873|      2|            return false;
 1874|      2|        }
 1875|    456|        if (392==style) {
  ------------------
  |  Branch (1875:13): [True: 358, False: 98]
  ------------------
 1876|    358|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1877|       |            // p_info isn't used for execution, so it has less value for checking:
 1878|       |            //      0== .p_progid
 1879|       |            //      .p_filesize == .p_blocksize
 1880|    358|            fi->seek(overlay_offset, SEEK_SET);
 1881|    358|            fi->readx(buf3, bufsize);
 1882|    358|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1883|    358|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1884|    358|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1885|    358|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1885:17): [True: 211, False: 147]
  ------------------
 1886|    211|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1886:17): [True: 41, False: 170]
  ------------------
 1887|     41|                unsigned const method = b_ptr->b_method;
 1888|     41|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  617|     41|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  623|     31|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1888:22): [True: 10, False: 31]
  |  Branch (1888:48): [True: 8, False: 23]
  ------------------
 1889|     18|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1889:21): [True: 16, False: 2]
  ------------------
 1890|     16|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1890:21): [True: 0, False: 16]
  ------------------
 1891|      0|                    return true;
 1892|      0|                }
 1893|     41|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1894|     41|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  618|     41|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  624|     39|#define M_NRV2E_8     9
  ------------------
  |  Branch (1894:22): [True: 2, False: 39]
  |  Branch (1894:45): [True: 1, False: 38]
  ------------------
 1895|      3|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1895:20): [True: 1, False: 2]
  ------------------
 1896|      1|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1896:21): [True: 0, False: 1]
  ------------------
 1897|      0|                    return true;
 1898|      0|                }
 1899|       |                // FIXME: M_LZMA
 1900|     41|            }
 1901|       |
 1902|    358|            overlay_offset = 0;
 1903|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1904|       |            // is the total length of compressed data which precedes it
 1905|       |            //(distance to l_info), so that's another method.
 1906|    358|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1907|    358|            fi->readx(buf3, 0x1000);
 1908|    358|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1909|    358|            unsigned const *p;
 1910|  12.5k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1910:55): [True: 12.5k, False: 68]
  |  Branch (1910:69): [True: 2.06k, False: 10.4k]
  ------------------
 1911|  2.06k|                overlay_offset  = *(TE32 const *)p;
 1912|  2.06k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1912:21): [True: 181, False: 1.88k]
  ------------------
 1913|    181|                    throwCantUnpack("file corrupted");
 1914|  1.88k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1914:21): [True: 1.62k, False: 264]
  ------------------
 1915|  1.62k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1916|  1.62k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1917|  1.62k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1917:25): [True: 18, False: 1.60k]
  ------------------
 1918|     18|                        throwCantUnpack("file corrupted");
 1919|  1.60k|                    fi->seek(overlay_offset, SEEK_SET);
 1920|  1.60k|                    fi->readx(buf3, bufsize);
 1921|  1.60k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1921:25): [True: 723, False: 880]
  ------------------
 1922|    723|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1922:25): [True: 91, False: 632]
  ------------------
 1923|     91|                        return true;
 1924|     91|                    }
 1925|  1.60k|                }
 1926|  1.88k|            }
 1927|    358|        }
 1928|    456|    }
 1929|       |
 1930|    183|    overlay_offset = 0;  // impossible value
 1931|    183|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1932|    183|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1932:9): [True: 105, False: 78]
  |  Branch (1932:19): [True: 101, False: 4]
  ------------------
 1933|    101|        overlay_offset = get_te32(buf + i + l);
 1934|    101|    }
 1935|    183|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1935:16): [True: 87, False: 96]
  ------------------
 1936|     96|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1936:9): [True: 58, False: 38]
  ------------------
 1937|     67|        infoWarning("file corrupted: %s", fi->getName());
 1938|     67|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1939|     67|        fi->seek(sz_mach_headers, SEEK_SET);
 1940|     67|        fi->readx(buf2, buf2.getSize());
 1941|     67|        unsigned const *p = (unsigned const *)&buf2[0];
 1942|     67|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1943|   133k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1943:16): [True: 133k, False: 60]
  ------------------
 1944|   133k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1944:16): [True: 25.1k, False: 108k]
  ------------------
 1945|  25.1k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1945:16): [True: 10.1k, False: 14.9k]
  ------------------
 1946|  10.1k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1946:13): [True: 888, False: 9.24k]
  ------------------
 1947|    888|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1947:13): [True: 548, False: 340]
  ------------------
 1948|    548|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1948:13): [True: 46, False: 502]
  ------------------
 1949|   133k|        ) {
 1950|     46|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1951|     46|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1951:19): [True: 39, False: 7]
  ------------------
 1952|      7|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1952:31): [True: 0, False: 7]
  ------------------
 1953|      7|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1953:24): [True: 0, False: 7]
  ------------------
 1954|      7|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1955|      7|                return true;
 1956|      7|            }
 1957|     46|        }
 1958|     60|        throwCantUnpack("file corrupted");
 1959|     67|    }
 1960|    116|    return true;
 1961|    183|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  9.58k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  9.58k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  9.58k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  9.58k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  9.58k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  9.58k|{
  225|  9.58k|    MachClass::compileTimeAssertions();
  226|  9.58k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  9.58k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  9.58k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  9.58k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  9.58k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  9.58k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEED2Ev:
  235|  9.58k|{
  236|  9.58k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE6unpackEP10OutputFile:
 1476|     94|{
 1477|     94|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1478|     94|    fi->seek(0, SEEK_SET);
 1479|     94|    fi->readx(&mhdri, sizeof(mhdri));
 1480|     94|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1480:9): [True: 0, False: 94]
  ------------------
 1481|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1481:9): [True: 0, False: 0]
  ------------------
 1482|      0|        throwCantUnpack("file header corrupted");
 1483|      0|    }
 1484|     94|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1485|     94|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1485:9): [True: 0, False: 94]
  ------------------
 1486|      0|        throwCantUnpack("file header corrupted");
 1487|      0|    }
 1488|     94|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1489|     94|    rawmseg_buf.alloc(sz_cmds);
 1490|     94|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1491|     94|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1492|       |
 1493|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1494|       |    // but canUnpack() sets overlay_offset anyway.
 1495|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1496|       |
 1497|     94|    fi->seek(overlay_offset, SEEK_SET);
 1498|     94|    p_info hbuf;
 1499|     94|    fi->readx(&hbuf, sizeof(hbuf));
 1500|     94|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1501|     94|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1502|     94|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  173|     83|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1502:9): [True: 11, False: 83]
  |  Branch (1502:39): [True: 19, False: 64]
  ------------------
 1503|     30|        throwCantUnpack("file header corrupted");
 1504|     64|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1504:9): [True: 17, False: 47]
  ------------------
 1505|     17|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1505:27): [True: 17, False: 0]
  ------------------
 1506|     17|        opt->backup = 1;
 1507|     17|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1508|     17|    }
 1509|       |
 1510|     64|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 1511|     64|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1512|     64|    fi->readx(&bhdr, sizeof(bhdr));
 1513|     64|    ph.u_len = get_te32(&bhdr.sz_unc);
 1514|     64|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1515|     64|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len < sizeof(mhdri))
  ------------------
  |  Branch (1515:9): [True: 20, False: 44]
  |  Branch (1515:43): [True: 5, False: 39]
  |  Branch (1515:60): [True: 3, False: 36]
  ------------------
 1516|     28|        throwCantUnpack("file header corrupted");
 1517|     36|    ph.method = bhdr.b_method;
 1518|     36|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  617|     72|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1518:9): [True: 16, False: 20]
  ------------------
 1519|     20|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  632|     20|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1519:9): [True: 8, False: 12]
  ------------------
 1520|     24|        throwCantUnpack("file header bad method");
 1521|     12|    ph.filter = bhdr.b_ftid;
 1522|     12|    ph.filter_cto = bhdr.b_cto8;
 1523|       |
 1524|       |    // Uncompress Macho headers
 1525|     12|    fi->readx(ibuf, ph.c_len);
 1526|     12|    MemBuffer mhdr_buf(ph.u_len);
 1527|     12|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1528|     12|    decompress(ibuf, (upx_byte *)mhdr, false);
 1529|     12|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1529:9): [True: 12, False: 0]
  ------------------
 1530|      0|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1530:9): [True: 0, False: 0]
  ------------------
 1531|      0|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1531:9): [True: 0, False: 0]
  ------------------
 1532|      0|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1532:9): [True: 0, False: 0]
  ------------------
 1533|      1|        throwCantUnpack("file header corrupted");
 1534|     11|    unsigned const ncmds = mhdr->ncmds;
 1535|     11|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1472|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1535:9): [True: 11, False: 0]
  |  Branch (1535:19): [True: 0, False: 0]
  ------------------
 1536|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1537|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1538|      0|        throwCantUnpack(msg);
 1539|      0|    }
 1540|       |
 1541|     11|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1542|     11|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1543|     11|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1544|     11|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1545|     11|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1545:25): [True: 0, False: 11]
  ------------------
 1546|      0|        if (headway < sizeof(Mach_command))
  ------------------
  |  Branch (1546:13): [True: 0, False: 0]
  ------------------
 1547|      0|            throwCantUnpack("bad packed Mach load_command");
 1548|      0|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1549|      0|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1549:13): [True: 0, False: 0]
  ------------------
 1550|      0|                headway, lc_seg, sizeof(Addr))) {
 1551|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1552|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1553|      0|            throwCantUnpack(msg);
 1554|      0|        }
 1555|      0|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  512|      0|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1556|      0|        headway -= cmdsize;
 1557|      0|        ptr     += cmdsize;
 1558|      0|    }
 1559|       |
 1560|       |    // Put LC_SEGMENT together at the beginning
 1561|     11|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  237|     11|#define upx_qsort ::qsort
  ------------------
 1562|     11|    n_segment = 0;
 1563|     11|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1563:25): [True: 0, False: 11]
  ------------------
 1564|      0|        n_segment += (lc_seg==msegcmd[j].cmd);
 1565|      0|    }
 1566|       |
 1567|     11|    total_in = 0;
 1568|     11|    total_out = 0;
 1569|     11|    unsigned c_adler = upx_adler32(nullptr, 0);
 1570|     11|    unsigned u_adler = upx_adler32(nullptr, 0);
 1571|       |
 1572|     11|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1573|     11|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1573:26): [True: 0, False: 11]
  ------------------
 1574|      0|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1574:13): [True: 0, False: 0]
  |  Branch (1574:39): [True: 0, False: 0]
  ------------------
 1575|      0|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1575:17): [True: 0, False: 0]
  ------------------
 1576|      0|                segTEXT = msegcmd[k];
 1577|      0|            }
 1578|      0|            if (fo)
  ------------------
  |  Branch (1578:17): [True: 0, False: 0]
  ------------------
 1579|      0|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1580|      0|            unpackExtent(msegcmd[k].filesize, fo,
 1581|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1582|      0|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1582:17): [True: 0, False: 0]
  ------------------
 1583|      0|                break;  // only the first lc_seg when MH_DYLIB
 1584|      0|            }
 1585|      0|        }
 1586|      0|    }
 1587|     11|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1588|     11|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1588:9): [True: 0, False: 11]
  ------------------
 1589|       |        // rawmseg holds mhdri.ncmds load commands (canUnpack bounds-checked them),
 1590|       |        // but the walk below counts with ncmds from the decompressed header
 1591|      0|        if (mhdri.ncmds != mhdr->ncmds)
  ------------------
  |  Branch (1591:13): [True: 0, False: 0]
  ------------------
 1592|      0|            throwCantUnpack("file header corrupted");
 1593|      0|        upx_uint64_t cpr_mod_init_func(0);
 1594|      0|                TE32 unc_mod_init_func = {}; // *(int *)&unc_mod_init_func = 0;
 1595|      0|        Mach_segment_command const *rc = rawmseg;
 1596|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1597|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1598|      0|        for (
 1599|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1600|      0|            k < ncmds;
  ------------------
  |  Branch (1600:13): [True: 0, False: 0]
  ------------------
 1601|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1602|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1603|      0|        ) {
 1604|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1604:17): [True: 0, False: 0]
  ------------------
 1605|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1605:17): [True: 0, False: 0]
  ------------------
 1606|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1606:21): [True: 0, False: 0]
  ------------------
 1607|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1608|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1609|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1610|      0|                }
 1611|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1612|      0|                if (fo)
  ------------------
  |  Branch (1612:21): [True: 0, False: 0]
  ------------------
 1613|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1614|      0|                unsigned const len = rc->filesize;
 1615|      0|                MemBuffer data(len);
 1616|      0|                fi->readx(data, len);
 1617|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1617:21): [True: 0, False: 0]
  ------------------
 1618|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1619|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1619:25): [True: 0, False: 0]
  |  Branch (1619:60): [True: 0, False: 0]
  ------------------
 1620|      0|                        throwCantUnpack("bad __mod_init_func");
 1621|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1622|      0|                }
 1623|      0|                if (fo)
  ------------------
  |  Branch (1623:21): [True: 0, False: 0]
  ------------------
 1624|      0|                    fo->write(data, len);
 1625|      0|            }
 1626|      0|        }
 1627|      0|    }
 1628|     11|    else
 1629|     11|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1629:26): [True: 0, False: 11]
  ------------------
 1630|      0|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1631|      0|        if (size) {
  ------------------
  |  Branch (1631:13): [True: 0, False: 0]
  ------------------
 1632|      0|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1633|      0|            if (fo)
  ------------------
  |  Branch (1633:17): [True: 0, False: 0]
  ------------------
 1634|      0|                fo->seek(where, SEEK_SET);
 1635|      0|            unpackExtent(size, fo,
 1636|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1637|      0|        }
 1638|      0|    }
 1639|     11|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
 1644|  9.58k|{
 1645|  9.58k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1646|  9.58k|    fi->seek(0, SEEK_SET);
 1647|  9.58k|    fi->readx(&mhdri, sizeof(mhdri));
 1648|       |
 1649|  9.58k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1649:9): [True: 7.95k, False: 1.63k]
  ------------------
 1650|  1.63k|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1650:9): [True: 762, False: 869]
  ------------------
 1651|    869|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1651:9): [True: 49, False: 820]
  ------------------
 1652|  9.58k|    )
 1653|  8.76k|        return false;
 1654|    820|    my_cpusubtype = mhdri.cpusubtype;
 1655|       |
 1656|    820|    unsigned const ncmds = mhdri.ncmds;
 1657|    820|    int headway = (int)mhdri.sizeofcmds;
 1658|    820|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1472|    819|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1658:9): [True: 1, False: 819]
  |  Branch (1658:19): [True: 34, False: 785]
  |  Branch (1658:41): [True: 2, False: 783]
  ------------------
 1659|    783|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1659:10): [True: 14, False: 769]
  ------------------
 1660|     51|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     51|#define snprintf  upx_safe_snprintf
  ------------------
 1661|     51|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1662|     51|        throwCantUnpack(msg);
 1663|     51|    }
 1664|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1665|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1666|    769|    if ((2 == ncmds
  ------------------
  |  Branch (1666:10): [True: 12, False: 757]
  ------------------
 1667|     12|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1667:12): [True: 2, False: 10]
  ------------------
 1668|    767|    ||  (3 <= ncmds
  ------------------
  |  Branch (1668:10): [True: 736, False: 31]
  ------------------
 1669|    736|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1669:12): [True: 6, False: 730]
  ------------------
 1670|    736|                    + sizeof(Mach_main_command)))) {
 1671|      8|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1672|      8|        throwCantUnpack("file corrupted");
 1673|      8|    }
 1674|    761|    sz_mach_headers = headway + sizeof(mhdri);
 1675|    761|    if (2048 < headway) {
  ------------------
  |  Branch (1675:9): [True: 26, False: 735]
  ------------------
 1676|     26|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1677|     26|    }
 1678|    761|    if (!headway) {
  ------------------
  |  Branch (1678:9): [True: 0, False: 761]
  ------------------
 1679|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1680|      0|    }
 1681|    761|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1682|    761|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1683|    761|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1684|       |
 1685|    761|    Mach_segment_command const *ptrTEXT = nullptr;
 1686|    761|    upx_uint64_t rip = 0;
 1687|    761|    unsigned style = 0;
 1688|    761|    off_t offLINK = 0;
  ------------------
  |  |  219|    761|#define off_t upx_off_t
  ------------------
 1689|    761|    unsigned pos_next = 0;
 1690|    761|    unsigned nseg = 0;
 1691|    761|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1692|  3.78k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1692:25): [True: 3.34k, False: 443]
  ------------------
 1693|  3.34k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1694|  3.34k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1694:13): [True: 11, False: 3.33k]
  ------------------
 1695|     11|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|     11|#define snprintf  upx_safe_snprintf
  ------------------
 1696|     11|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1697|     11|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1698|     11|            throwCantPack(buf);
 1699|     11|        }
 1700|  3.33k|        unsigned const cmd = ptr->cmd;
 1701|  3.33k|        unsigned const cmdsize = ptr->cmdsize;
 1702|  3.33k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1702:13): [True: 275, False: 3.05k]
  ------------------
 1703|    275|                opt->info_mode += 1;
 1704|    275|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1705|    275|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1706|    275|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1707|    275|                opt->info_mode -= 1;
 1708|    275|                throwCantUnpack("file corrupted");
 1709|    275|        }
 1710|  3.05k|        headway -= cmdsize;
 1711|  3.05k|        if (headway < 0) {
  ------------------
  |  Branch (1711:13): [True: 0, False: 3.05k]
  ------------------
 1712|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1713|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1714|      0|                (unsigned)ptr->cmdsize);
 1715|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1716|      0|        }
 1717|  3.05k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1717:13): [True: 1.61k, False: 1.43k]
  ------------------
 1718|  1.61k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1719|  1.61k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1719:17): [True: 27, False: 1.59k]
  ------------------
 1720|  1.59k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1720:17): [True: 4, False: 1.58k]
  ------------------
 1721|  1.58k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1721:17): [True: 1, False: 1.58k]
  ------------------
 1722|     32|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1723|     32|                      "  filesize=0x%lx  fileoff=0x%lx",
 1724|     32|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1725|     32|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1726|     32|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1727|     32|                throwCantUnpack("file corrupted");
 1728|     32|            }
 1729|  1.58k|            ++nseg;
 1730|  1.58k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1730:17): [True: 62, False: 1.52k]
  ------------------
 1731|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1732|     62|                style = 391;  // UPX 3.91
 1733|     62|            }
 1734|  1.58k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1734:17): [True: 119, False: 1.46k]
  ------------------
 1735|    119|                ptrTEXT = segptr;
 1736|    119|                style = 391;  // UPX 3.91
 1737|    119|            }
 1738|  1.58k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1738:17): [True: 34, False: 1.55k]
  ------------------
 1739|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1740|     34|                style = 392;  // UPX 3.92
 1741|     34|            }
 1742|  1.58k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1742:17): [True: 507, False: 1.07k]
  ------------------
 1743|    507|                offLINK = segptr->fileoff;
 1744|    507|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1744:21): [True: 81, False: 426]
  ------------------
 1745|     81|                    style = 395;
 1746|     81|                }
 1747|    507|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1747:21): [True: 139, False: 368]
  ------------------
 1748|    139|                    offLINK = pos_next;
 1749|    139|                }
 1750|    507|            }
 1751|  1.58k|            pos_next = segptr->filesize + segptr->fileoff;
 1752|  1.58k|        }
 1753|  1.43k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1753:18): [True: 895, False: 542]
  ------------------
 1754|    895|            rip = entryVMA = threadc_getPC(ptr);
 1755|    895|        }
 1756|  3.05k|    }
 1757|    443|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1757:9): [True: 376, False: 67]
  |  Branch (1757:20): [True: 328, False: 48]
  ------------------
 1758|    328|        style = 392;
 1759|    328|    }
 1760|    443|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1760:9): [True: 14, False: 429]
  |  Branch (1760:23): [True: 9, False: 5]
  |  Branch (1760:37): [True: 3, False: 6]
  |  Branch (1760:49): [True: 2, False: 1]
  ------------------
 1761|      2|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1762|      2|    }
 1763|    443|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1763:9): [True: 12, False: 431]
  |  Branch (1763:23): [True: 24, False: 407]
  ------------------
 1764|     34|        return false;
 1765|     34|    }
 1766|       |
 1767|    409|    int const small = 32 + sizeof(overlay_offset);
 1768|    409|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1769|    409|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1769:9): [True: 6, False: 403]
  ------------------
 1770|      6|        fi->seek(offLINK - bufsize, SEEK_SET);
 1771|      6|    } else
 1772|    403|    if (392 == style) {
  ------------------
  |  Branch (1772:9): [True: 331, False: 72]
  ------------------
 1773|    331|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1773:13): [True: 9, False: 322]
  ------------------
 1774|      9|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1775|      9|        }
 1776|    322|        else { // PackHeader follows loader at __LINKEDIT
 1777|    322|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1777:17): [True: 239, False: 83]
  ------------------
 1778|    239|                bufsize = fi->st_size() - offLINK;
 1779|    239|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1779:21): [True: 2, False: 237]
  ------------------
 1780|      2|                    throwCantUnpack("bad offLINK %p %p",
 1781|      2|                        (void *)offLINK, (void *)file_size);
 1782|      2|                }
 1783|    239|            }
 1784|    320|            fi->seek(offLINK, SEEK_SET);
 1785|    320|        }
 1786|    331|    } else
 1787|     72|    if (395 == style) {
  ------------------
  |  Branch (1787:9): [True: 70, False: 2]
  ------------------
 1788|     70|        fi->seek(offLINK - bufsize, SEEK_SET);
 1789|     70|    }
 1790|    407|    MemBuffer buf(bufsize);
 1791|    407|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1792|    407|    buf3.clear();
 1793|       |
 1794|    407|    fi->readx(buf, bufsize);
 1795|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1796|       |
 1797|    407|    int i = bufsize;
 1798|  22.6k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1798:12): [True: 22.5k, False: 139]
  |  Branch (1798:25): [True: 22.2k, False: 268]
  ------------------
 1799|    407|    i -= small;
 1800|       |    // allow incompressible extents
 1801|    407|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1801:9): [True: 139, False: 268]
  |  Branch (1801:18): [True: 268, False: 0]
  ------------------
 1802|       |        // Breadcrumbs failed.
 1803|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1804|    391|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1804:38): [True: 89, False: 302]
  ------------------
 1805|    391|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1805:13): [True: 89, False: 302]
  |  Branch (1805:24): [True: 84, False: 5]
  |  Branch (1805:31): [True: 2, False: 82]
  ------------------
 1806|      2|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1807|      2|            fi->readx(buf3, bufsize);
 1808|      2|            unsigned char const *b = &buf3[0];
 1809|      2|            unsigned disp = *(TE32 const *)&b[1];
 1810|      2|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1810:17): [True: 0, False: 2]
  ------------------
 1811|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1811:21): [True: 0, False: 0]
  |  Branch (1811:35): [True: 0, False: 0]
  ------------------
 1812|       |                    // disp and the b_info that follow it are used as raw offsets
 1813|       |                    // into buf3, which holds only bufsize bytes that were read.
 1814|      0|                    && (disp + 11 + sizeof(struct b_info)) <= bufsize
  ------------------
  |  Branch (1814:24): [True: 0, False: 0]
  ------------------
 1815|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1816|       |                    // searching for "executable_path=" etc.
 1817|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1817:21): [True: 0, False: 0]
  |  Branch (1817:40): [True: 0, False: 0]
  ------------------
 1818|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1819|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1819:25): [True: 0, False: 0]
  |  Branch (1819:46): [True: 0, False: 0]
  ------------------
 1820|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1821|       |                        // This is the folded stub.
 1822|       |                        // FIXME: check b_method?
 1823|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000
  ------------------
  |  Branch (1823:29): [True: 0, False: 0]
  |  Branch (1823:60): [True: 0, False: 0]
  ------------------
 1824|       |                            // overlay_offset is read at (32 + b); keep that read
 1825|       |                            // inside the bytes that were read into buf3.
 1826|      0|                        && ((11 + disp + sizeof(struct b_info) + (unsigned) bptr->sz_cpr)
  ------------------
  |  Branch (1826:28): [True: 0, False: 0]
  ------------------
 1827|      0|                                + 32 + sizeof(TE32)) <= bufsize) {
 1828|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1829|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1830|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1831|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1831:33): [True: 0, False: 0]
  ------------------
 1832|      0|                                return true;  // success
 1833|      0|                            }
 1834|      0|                            overlay_offset = 0;  // failure
 1835|      0|                        }
 1836|      0|                    }
 1837|      0|                }
 1838|      0|            }
 1839|      2|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1839:17): [True: 0, False: 2]
  ------------------
 1840|      0|                infoWarning("file corrupted: %s", fi->getName());
 1841|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1842|      0|                fi->readx(buf3, bufsize);
 1843|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1844|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1844:24): [True: 0, False: 0]
  ------------------
 1845|      0|                    unsigned x = *p;
 1846|      0|                    if (x) {
  ------------------
  |  Branch (1846:25): [True: 0, False: 0]
  ------------------
 1847|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1847:29): [True: 0, False: 0]
  |  Branch (1847:40): [True: 0, False: 0]
  ------------------
 1848|      0|                            fi->seek(0, SEEK_SET);
 1849|      0|                            fi->readx(buf3, bufsize);
 1850|      0|                            p = (unsigned const *)&buf3[x];
 1851|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1851:33): [True: 0, False: 0]
  |  Branch (1851:46): [True: 0, False: 0]
  |  Branch (1851:59): [True: 0, False: 0]
  ------------------
 1852|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1852:33): [True: 0, False: 0]
  |  Branch (1852:59): [True: 0, False: 0]
  ------------------
 1853|      0|                            ) {
 1854|      0|                                overlay_offset = x;
 1855|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1856|      0|                                    overlay_offset);
 1857|      0|                                return true;
 1858|      0|                            }
 1859|      0|                        }
 1860|      0|                        break;
 1861|      0|                    }
 1862|      0|                }
 1863|      0|            }
 1864|      2|        }
 1865|    391|        if (391==style) {
  ------------------
  |  Branch (1865:13): [True: 1, False: 390]
  ------------------
 1866|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1867|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1867:20): [True: 0, False: 1]
  ------------------
 1868|      1|            overlay_offset = *uptr;
 1869|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1869:17): [True: 0, False: 1]
  |  Branch (1869:55): [True: 0, False: 0]
  ------------------
 1870|      0|                return true;  // success
 1871|      0|            }
 1872|      1|            overlay_offset = 0;
 1873|      1|            return false;
 1874|      1|        }
 1875|    390|        if (392==style) {
  ------------------
  |  Branch (1875:13): [True: 323, False: 67]
  ------------------
 1876|    323|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1877|       |            // p_info isn't used for execution, so it has less value for checking:
 1878|       |            //      0== .p_progid
 1879|       |            //      .p_filesize == .p_blocksize
 1880|    323|            fi->seek(overlay_offset, SEEK_SET);
 1881|    323|            fi->readx(buf3, bufsize);
 1882|    323|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1883|    323|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1884|    323|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1885|    323|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1885:17): [True: 175, False: 148]
  ------------------
 1886|    175|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1886:17): [True: 52, False: 123]
  ------------------
 1887|     52|                unsigned const method = b_ptr->b_method;
 1888|     52|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  617|     52|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  623|     42|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1888:22): [True: 10, False: 42]
  |  Branch (1888:48): [True: 11, False: 31]
  ------------------
 1889|     21|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1889:21): [True: 2, False: 19]
  ------------------
 1890|      2|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1890:21): [True: 1, False: 1]
  ------------------
 1891|      1|                    return true;
 1892|      1|                }
 1893|     51|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1894|     51|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  618|     51|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  624|     38|#define M_NRV2E_8     9
  ------------------
  |  Branch (1894:22): [True: 13, False: 38]
  |  Branch (1894:45): [True: 1, False: 37]
  ------------------
 1895|     14|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1895:20): [True: 3, False: 11]
  ------------------
 1896|      3|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1896:21): [True: 1, False: 2]
  ------------------
 1897|      1|                    return true;
 1898|      1|                }
 1899|       |                // FIXME: M_LZMA
 1900|     51|            }
 1901|       |
 1902|    321|            overlay_offset = 0;
 1903|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1904|       |            // is the total length of compressed data which precedes it
 1905|       |            //(distance to l_info), so that's another method.
 1906|    321|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1907|    321|            fi->readx(buf3, 0x1000);
 1908|    321|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1909|    321|            unsigned const *p;
 1910|  52.3k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1910:55): [True: 52.1k, False: 147]
  |  Branch (1910:69): [True: 1.59k, False: 50.5k]
  ------------------
 1911|  1.59k|                overlay_offset  = *(TE32 const *)p;
 1912|  1.59k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1912:21): [True: 123, False: 1.46k]
  ------------------
 1913|    123|                    throwCantUnpack("file corrupted");
 1914|  1.46k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1914:21): [True: 1.15k, False: 315]
  ------------------
 1915|  1.15k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1916|  1.15k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1917|  1.15k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1917:25): [True: 6, False: 1.14k]
  ------------------
 1918|      6|                        throwCantUnpack("file corrupted");
 1919|  1.14k|                    fi->seek(overlay_offset, SEEK_SET);
 1920|  1.14k|                    fi->readx(buf3, bufsize);
 1921|  1.14k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1921:25): [True: 456, False: 691]
  ------------------
 1922|    456|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1922:25): [True: 45, False: 411]
  ------------------
 1923|     45|                        return true;
 1924|     45|                    }
 1925|  1.14k|                }
 1926|  1.46k|            }
 1927|    321|        }
 1928|    390|    }
 1929|       |
 1930|    230|    overlay_offset = 0;  // impossible value
 1931|    230|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1932|    230|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1932:9): [True: 111, False: 119]
  |  Branch (1932:19): [True: 110, False: 1]
  ------------------
 1933|    110|        overlay_offset = get_te32(buf + i + l);
 1934|    110|    }
 1935|    230|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1935:16): [True: 146, False: 84]
  ------------------
 1936|     89|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1936:9): [True: 62, False: 22]
  ------------------
 1937|     89|        infoWarning("file corrupted: %s", fi->getName());
 1938|     89|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1939|     89|        fi->seek(sz_mach_headers, SEEK_SET);
 1940|     89|        fi->readx(buf2, buf2.getSize());
 1941|     89|        unsigned const *p = (unsigned const *)&buf2[0];
 1942|     89|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1943|   188k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1943:16): [True: 187k, False: 57]
  ------------------
 1944|   187k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1944:16): [True: 80.8k, False: 107k]
  ------------------
 1945|  80.8k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1945:16): [True: 11.7k, False: 69.0k]
  ------------------
 1946|  11.7k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1946:13): [True: 956, False: 10.7k]
  ------------------
 1947|    956|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1947:13): [True: 579, False: 377]
  ------------------
 1948|    579|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1948:13): [True: 71, False: 508]
  ------------------
 1949|   187k|        ) {
 1950|     71|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1951|     71|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1951:19): [True: 39, False: 32]
  ------------------
 1952|     32|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1952:31): [True: 0, False: 32]
  ------------------
 1953|     32|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1953:24): [True: 0, False: 32]
  ------------------
 1954|     32|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1955|     32|                return true;
 1956|     32|            }
 1957|     71|        }
 1958|     57|        throwCantUnpack("file corrupted");
 1959|     89|    }
 1960|    141|    return true;
 1961|    230|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  14.8k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  14.8k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  14.8k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  14.8k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  14.8k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  14.8k|{
  225|  14.8k|    MachClass::compileTimeAssertions();
  226|  14.8k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  14.8k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  14.8k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  14.8k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  14.8k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  14.8k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEED2Ev:
  235|  14.8k|{
  236|  14.8k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE6unpackEP10OutputFile:
 1476|    873|{
 1477|    873|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1478|    873|    fi->seek(0, SEEK_SET);
 1479|    873|    fi->readx(&mhdri, sizeof(mhdri));
 1480|    873|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1480:9): [True: 0, False: 873]
  ------------------
 1481|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1481:9): [True: 0, False: 0]
  ------------------
 1482|      0|        throwCantUnpack("file header corrupted");
 1483|      0|    }
 1484|    873|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1485|    873|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1485:9): [True: 1, False: 872]
  ------------------
 1486|      1|        throwCantUnpack("file header corrupted");
 1487|      1|    }
 1488|    872|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1489|    872|    rawmseg_buf.alloc(sz_cmds);
 1490|    872|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1491|    872|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1492|       |
 1493|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1494|       |    // but canUnpack() sets overlay_offset anyway.
 1495|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1496|       |
 1497|    872|    fi->seek(overlay_offset, SEEK_SET);
 1498|    872|    p_info hbuf;
 1499|    872|    fi->readx(&hbuf, sizeof(hbuf));
 1500|    872|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1501|    872|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1502|    872|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  173|    849|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1502:9): [True: 23, False: 849]
  |  Branch (1502:39): [True: 16, False: 833]
  ------------------
 1503|     38|        throwCantUnpack("file header corrupted");
 1504|    834|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1504:9): [True: 33, False: 801]
  ------------------
 1505|     33|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1505:27): [True: 33, False: 0]
  ------------------
 1506|     33|        opt->backup = 1;
 1507|     33|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1508|     33|    }
 1509|       |
 1510|    834|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 1511|    834|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1512|    834|    fi->readx(&bhdr, sizeof(bhdr));
 1513|    834|    ph.u_len = get_te32(&bhdr.sz_unc);
 1514|    834|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1515|    834|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len < sizeof(mhdri))
  ------------------
  |  Branch (1515:9): [True: 94, False: 740]
  |  Branch (1515:43): [True: 8, False: 732]
  |  Branch (1515:60): [True: 5, False: 727]
  ------------------
 1516|     91|        throwCantUnpack("file header corrupted");
 1517|    743|    ph.method = bhdr.b_method;
 1518|    743|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  617|  1.48k|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1518:9): [True: 30, False: 713]
  ------------------
 1519|    713|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  632|    713|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1519:9): [True: 16, False: 697]
  ------------------
 1520|     30|        throwCantUnpack("file header bad method");
 1521|    713|    ph.filter = bhdr.b_ftid;
 1522|    713|    ph.filter_cto = bhdr.b_cto8;
 1523|       |
 1524|       |    // Uncompress Macho headers
 1525|    713|    fi->readx(ibuf, ph.c_len);
 1526|    713|    MemBuffer mhdr_buf(ph.u_len);
 1527|    713|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1528|    713|    decompress(ibuf, (upx_byte *)mhdr, false);
 1529|    713|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1529:9): [True: 698, False: 15]
  ------------------
 1530|     15|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1530:9): [True: 1, False: 14]
  ------------------
 1531|     14|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1531:9): [True: 3, False: 11]
  ------------------
 1532|     11|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1532:9): [True: 0, False: 11]
  ------------------
 1533|      6|        throwCantUnpack("file header corrupted");
 1534|    707|    unsigned const ncmds = mhdr->ncmds;
 1535|    707|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1472|     11|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1535:9): [True: 696, False: 11]
  |  Branch (1535:19): [True: 0, False: 11]
  ------------------
 1536|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1537|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1538|      0|        throwCantUnpack(msg);
 1539|      0|    }
 1540|       |
 1541|    707|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1542|    707|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1543|    707|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1544|    707|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1545|    866|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1545:25): [True: 159, False: 707]
  ------------------
 1546|    159|        if (headway < sizeof(Mach_command))
  ------------------
  |  Branch (1546:13): [True: 0, False: 159]
  ------------------
 1547|      0|            throwCantUnpack("bad packed Mach load_command");
 1548|    159|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1549|    159|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1549:13): [True: 0, False: 159]
  ------------------
 1550|    159|                headway, lc_seg, sizeof(Addr))) {
 1551|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1552|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1553|      0|            throwCantUnpack(msg);
 1554|      0|        }
 1555|    159|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  512|    159|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1556|    159|        headway -= cmdsize;
 1557|    159|        ptr     += cmdsize;
 1558|    159|    }
 1559|       |
 1560|       |    // Put LC_SEGMENT together at the beginning
 1561|    707|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  237|    707|#define upx_qsort ::qsort
  ------------------
 1562|    707|    n_segment = 0;
 1563|    866|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1563:25): [True: 159, False: 707]
  ------------------
 1564|    159|        n_segment += (lc_seg==msegcmd[j].cmd);
 1565|    159|    }
 1566|       |
 1567|    707|    total_in = 0;
 1568|    707|    total_out = 0;
 1569|    707|    unsigned c_adler = upx_adler32(nullptr, 0);
 1570|    707|    unsigned u_adler = upx_adler32(nullptr, 0);
 1571|       |
 1572|    707|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1573|    811|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1573:26): [True: 104, False: 707]
  ------------------
 1574|    104|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1574:13): [True: 54, False: 50]
  |  Branch (1574:39): [True: 43, False: 11]
  ------------------
 1575|     43|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1575:17): [True: 11, False: 32]
  ------------------
 1576|     11|                segTEXT = msegcmd[k];
 1577|     11|            }
 1578|     43|            if (fo)
  ------------------
  |  Branch (1578:17): [True: 43, False: 0]
  ------------------
 1579|     43|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1580|     43|            unpackExtent(msegcmd[k].filesize, fo,
 1581|     43|                c_adler, u_adler, false, sizeof(bhdr));
 1582|     43|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1582:17): [True: 0, False: 43]
  ------------------
 1583|      0|                break;  // only the first lc_seg when MH_DYLIB
 1584|      0|            }
 1585|     43|        }
 1586|    104|    }
 1587|    707|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1588|    707|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1588:9): [True: 0, False: 707]
  ------------------
 1589|       |        // rawmseg holds mhdri.ncmds load commands (canUnpack bounds-checked them),
 1590|       |        // but the walk below counts with ncmds from the decompressed header
 1591|      0|        if (mhdri.ncmds != mhdr->ncmds)
  ------------------
  |  Branch (1591:13): [True: 0, False: 0]
  ------------------
 1592|      0|            throwCantUnpack("file header corrupted");
 1593|      0|        upx_uint64_t cpr_mod_init_func(0);
 1594|      0|                TE32 unc_mod_init_func = {}; // *(int *)&unc_mod_init_func = 0;
 1595|      0|        Mach_segment_command const *rc = rawmseg;
 1596|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1597|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1598|      0|        for (
 1599|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1600|      0|            k < ncmds;
  ------------------
  |  Branch (1600:13): [True: 0, False: 0]
  ------------------
 1601|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1602|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1603|      0|        ) {
 1604|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1604:17): [True: 0, False: 0]
  ------------------
 1605|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1605:17): [True: 0, False: 0]
  ------------------
 1606|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1606:21): [True: 0, False: 0]
  ------------------
 1607|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1608|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1609|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1610|      0|                }
 1611|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1612|      0|                if (fo)
  ------------------
  |  Branch (1612:21): [True: 0, False: 0]
  ------------------
 1613|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1614|      0|                unsigned const len = rc->filesize;
 1615|      0|                MemBuffer data(len);
 1616|      0|                fi->readx(data, len);
 1617|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1617:21): [True: 0, False: 0]
  ------------------
 1618|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1619|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1619:25): [True: 0, False: 0]
  |  Branch (1619:60): [True: 0, False: 0]
  ------------------
 1620|      0|                        throwCantUnpack("bad __mod_init_func");
 1621|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1622|      0|                }
 1623|      0|                if (fo)
  ------------------
  |  Branch (1623:21): [True: 0, False: 0]
  ------------------
 1624|      0|                    fo->write(data, len);
 1625|      0|            }
 1626|      0|        }
 1627|      0|    }
 1628|    707|    else
 1629|    749|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1629:26): [True: 42, False: 707]
  ------------------
 1630|     42|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1631|     42|        if (size) {
  ------------------
  |  Branch (1631:13): [True: 12, False: 30]
  ------------------
 1632|     12|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1633|     12|            if (fo)
  ------------------
  |  Branch (1633:17): [True: 12, False: 0]
  ------------------
 1634|     12|                fo->seek(where, SEEK_SET);
 1635|     12|            unpackExtent(size, fo,
 1636|     12|                c_adler, u_adler, false, sizeof(bhdr));
 1637|     12|        }
 1638|     42|    }
 1639|    707|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
 1644|  14.8k|{
 1645|  14.8k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1646|  14.8k|    fi->seek(0, SEEK_SET);
 1647|  14.8k|    fi->readx(&mhdri, sizeof(mhdri));
 1648|       |
 1649|  14.8k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1649:9): [True: 9.52k, False: 5.28k]
  ------------------
 1650|  5.28k|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1650:9): [True: 2.63k, False: 2.65k]
  ------------------
 1651|  2.65k|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1651:9): [True: 766, False: 1.88k]
  ------------------
 1652|  14.8k|    )
 1653|  12.9k|        return false;
 1654|  1.88k|    my_cpusubtype = mhdri.cpusubtype;
 1655|       |
 1656|  1.88k|    unsigned const ncmds = mhdri.ncmds;
 1657|  1.88k|    int headway = (int)mhdri.sizeofcmds;
 1658|  1.88k|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1472|  1.88k|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1658:9): [True: 1, False: 1.88k]
  |  Branch (1658:19): [True: 45, False: 1.83k]
  |  Branch (1658:41): [True: 21, False: 1.81k]
  ------------------
 1659|  1.81k|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1659:10): [True: 36, False: 1.78k]
  ------------------
 1660|    103|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|    103|#define snprintf  upx_safe_snprintf
  ------------------
 1661|    103|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1662|    103|        throwCantUnpack(msg);
 1663|    103|    }
 1664|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1665|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1666|  1.78k|    if ((2 == ncmds
  ------------------
  |  Branch (1666:10): [True: 22, False: 1.76k]
  ------------------
 1667|     22|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1667:12): [True: 1, False: 21]
  ------------------
 1668|  1.78k|    ||  (3 <= ncmds
  ------------------
  |  Branch (1668:10): [True: 1.75k, False: 24]
  ------------------
 1669|  1.75k|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1669:12): [True: 7, False: 1.75k]
  ------------------
 1670|  1.75k|                    + sizeof(Mach_main_command)))) {
 1671|      8|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1672|      8|        throwCantUnpack("file corrupted");
 1673|      8|    }
 1674|  1.77k|    sz_mach_headers = headway + sizeof(mhdri);
 1675|  1.77k|    if (2048 < headway) {
  ------------------
  |  Branch (1675:9): [True: 82, False: 1.69k]
  ------------------
 1676|     82|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1677|     82|    }
 1678|  1.77k|    if (!headway) {
  ------------------
  |  Branch (1678:9): [True: 0, False: 1.77k]
  ------------------
 1679|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1680|      0|    }
 1681|  1.77k|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1682|  1.77k|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1683|  1.77k|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1684|       |
 1685|  1.77k|    Mach_segment_command const *ptrTEXT = nullptr;
 1686|  1.77k|    upx_uint64_t rip = 0;
 1687|  1.77k|    unsigned style = 0;
 1688|  1.77k|    off_t offLINK = 0;
  ------------------
  |  |  219|  1.77k|#define off_t upx_off_t
  ------------------
 1689|  1.77k|    unsigned pos_next = 0;
 1690|  1.77k|    unsigned nseg = 0;
 1691|  1.77k|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1692|  10.8k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1692:25): [True: 9.38k, False: 1.45k]
  ------------------
 1693|  9.38k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1694|  9.38k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1694:13): [True: 7, False: 9.37k]
  ------------------
 1695|      7|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      7|#define snprintf  upx_safe_snprintf
  ------------------
 1696|      7|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1697|      7|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1698|      7|            throwCantPack(buf);
 1699|      7|        }
 1700|  9.37k|        unsigned const cmd = ptr->cmd;
 1701|  9.37k|        unsigned const cmdsize = ptr->cmdsize;
 1702|  9.37k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1702:13): [True: 158, False: 9.21k]
  ------------------
 1703|    158|                opt->info_mode += 1;
 1704|    158|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1705|    158|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1706|    158|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1707|    158|                opt->info_mode -= 1;
 1708|    158|                throwCantUnpack("file corrupted");
 1709|    158|        }
 1710|  9.21k|        headway -= cmdsize;
 1711|  9.21k|        if (headway < 0) {
  ------------------
  |  Branch (1711:13): [True: 0, False: 9.21k]
  ------------------
 1712|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1713|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1714|      0|                (unsigned)ptr->cmdsize);
 1715|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1716|      0|        }
 1717|  9.21k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1717:13): [True: 4.82k, False: 4.39k]
  ------------------
 1718|  4.82k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1719|  4.82k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1719:17): [True: 74, False: 4.74k]
  ------------------
 1720|  4.74k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1720:17): [True: 83, False: 4.66k]
  ------------------
 1721|  4.66k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1721:17): [True: 2, False: 4.66k]
  ------------------
 1722|    159|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1723|    159|                      "  filesize=0x%lx  fileoff=0x%lx",
 1724|    159|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1725|    159|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1726|    159|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1727|    159|                throwCantUnpack("file corrupted");
 1728|    159|            }
 1729|  4.66k|            ++nseg;
 1730|  4.66k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1730:17): [True: 32, False: 4.63k]
  ------------------
 1731|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1732|     32|                style = 391;  // UPX 3.91
 1733|     32|            }
 1734|  4.66k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1734:17): [True: 423, False: 4.23k]
  ------------------
 1735|    423|                ptrTEXT = segptr;
 1736|    423|                style = 391;  // UPX 3.91
 1737|    423|            }
 1738|  4.66k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1738:17): [True: 16, False: 4.64k]
  ------------------
 1739|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1740|     16|                style = 392;  // UPX 3.92
 1741|     16|            }
 1742|  4.66k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1742:17): [True: 1.45k, False: 3.20k]
  ------------------
 1743|  1.45k|                offLINK = segptr->fileoff;
 1744|  1.45k|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1744:21): [True: 56, False: 1.39k]
  ------------------
 1745|     56|                    style = 395;
 1746|     56|                }
 1747|  1.45k|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1747:21): [True: 1.10k, False: 353]
  ------------------
 1748|  1.10k|                    offLINK = pos_next;
 1749|  1.10k|                }
 1750|  1.45k|            }
 1751|  4.66k|            pos_next = segptr->filesize + segptr->fileoff;
 1752|  4.66k|        }
 1753|  4.39k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1753:18): [True: 634, False: 3.76k]
  ------------------
 1754|    634|            rip = entryVMA = threadc_getPC(ptr);
 1755|    634|        }
 1756|  9.21k|    }
 1757|  1.45k|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1757:9): [True: 1.40k, False: 41]
  |  Branch (1757:20): [True: 1.37k, False: 31]
  ------------------
 1758|  1.37k|        style = 392;
 1759|  1.37k|    }
 1760|  1.45k|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1760:9): [True: 20, False: 1.43k]
  |  Branch (1760:23): [True: 17, False: 3]
  |  Branch (1760:37): [True: 11, False: 6]
  |  Branch (1760:49): [True: 8, False: 3]
  ------------------
 1761|      8|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1762|      8|    }
 1763|  1.45k|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1763:9): [True: 20, False: 1.43k]
  |  Branch (1763:23): [True: 47, False: 1.38k]
  ------------------
 1764|     59|        return false;
 1765|     59|    }
 1766|       |
 1767|  1.39k|    int const small = 32 + sizeof(overlay_offset);
 1768|  1.39k|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1769|  1.39k|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1769:9): [True: 8, False: 1.38k]
  ------------------
 1770|      8|        fi->seek(offLINK - bufsize, SEEK_SET);
 1771|      8|    } else
 1772|  1.38k|    if (392 == style) {
  ------------------
  |  Branch (1772:9): [True: 1.34k, False: 40]
  ------------------
 1773|  1.34k|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1773:13): [True: 29, False: 1.31k]
  ------------------
 1774|     29|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1775|     29|        }
 1776|  1.31k|        else { // PackHeader follows loader at __LINKEDIT
 1777|  1.31k|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1777:17): [True: 1.30k, False: 11]
  ------------------
 1778|  1.30k|                bufsize = fi->st_size() - offLINK;
 1779|  1.30k|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1779:21): [True: 3, False: 1.30k]
  ------------------
 1780|      3|                    throwCantUnpack("bad offLINK %p %p",
 1781|      3|                        (void *)offLINK, (void *)file_size);
 1782|      3|                }
 1783|  1.30k|            }
 1784|  1.31k|            fi->seek(offLINK, SEEK_SET);
 1785|  1.31k|        }
 1786|  1.34k|    } else
 1787|     40|    if (395 == style) {
  ------------------
  |  Branch (1787:9): [True: 32, False: 8]
  ------------------
 1788|     32|        fi->seek(offLINK - bufsize, SEEK_SET);
 1789|     32|    }
 1790|  1.38k|    MemBuffer buf(bufsize);
 1791|  1.38k|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1792|  1.38k|    buf3.clear();
 1793|       |
 1794|  1.38k|    fi->readx(buf, bufsize);
 1795|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1796|       |
 1797|  1.38k|    int i = bufsize;
 1798|   179k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1798:12): [True: 178k, False: 167]
  |  Branch (1798:25): [True: 177k, False: 1.22k]
  ------------------
 1799|  1.38k|    i -= small;
 1800|       |    // allow incompressible extents
 1801|  1.38k|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1801:9): [True: 167, False: 1.22k]
  |  Branch (1801:18): [True: 327, False: 894]
  ------------------
 1802|       |        // Breadcrumbs failed.
 1803|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1804|    475|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1804:38): [True: 334, False: 141]
  ------------------
 1805|    475|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1805:13): [True: 334, False: 141]
  |  Branch (1805:24): [True: 323, False: 11]
  |  Branch (1805:31): [True: 170, False: 153]
  ------------------
 1806|    170|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1807|    170|            fi->readx(buf3, bufsize);
 1808|    170|            unsigned char const *b = &buf3[0];
 1809|    170|            unsigned disp = *(TE32 const *)&b[1];
 1810|    170|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1810:17): [True: 27, False: 143]
  ------------------
 1811|     27|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1811:21): [True: 13, False: 14]
  |  Branch (1811:35): [True: 12, False: 1]
  ------------------
 1812|       |                    // disp and the b_info that follow it are used as raw offsets
 1813|       |                    // into buf3, which holds only bufsize bytes that were read.
 1814|     12|                    && (disp + 11 + sizeof(struct b_info)) <= bufsize
  ------------------
  |  Branch (1814:24): [True: 11, False: 1]
  ------------------
 1815|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1816|       |                    // searching for "executable_path=" etc.
 1817|     11|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1817:21): [True: 10, False: 1]
  |  Branch (1817:40): [True: 9, False: 1]
  ------------------
 1818|      9|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1819|      9|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1819:25): [True: 4, False: 5]
  |  Branch (1819:46): [True: 0, False: 4]
  ------------------
 1820|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1821|       |                        // This is the folded stub.
 1822|       |                        // FIXME: check b_method?
 1823|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000
  ------------------
  |  Branch (1823:29): [True: 0, False: 0]
  |  Branch (1823:60): [True: 0, False: 0]
  ------------------
 1824|       |                            // overlay_offset is read at (32 + b); keep that read
 1825|       |                            // inside the bytes that were read into buf3.
 1826|      0|                        && ((11 + disp + sizeof(struct b_info) + (unsigned) bptr->sz_cpr)
  ------------------
  |  Branch (1826:28): [True: 0, False: 0]
  ------------------
 1827|      0|                                + 32 + sizeof(TE32)) <= bufsize) {
 1828|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1829|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1830|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1831|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1831:33): [True: 0, False: 0]
  ------------------
 1832|      0|                                return true;  // success
 1833|      0|                            }
 1834|      0|                            overlay_offset = 0;  // failure
 1835|      0|                        }
 1836|      0|                    }
 1837|      9|                }
 1838|     27|            }
 1839|    170|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1839:17): [True: 1, False: 169]
  ------------------
 1840|      1|                infoWarning("file corrupted: %s", fi->getName());
 1841|      1|                fi->seek(file_size - bufsize, SEEK_SET);
 1842|      1|                fi->readx(buf3, bufsize);
 1843|      1|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1844|      1|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1844:24): [True: 0, False: 1]
  ------------------
 1845|      0|                    unsigned x = *p;
 1846|      0|                    if (x) {
  ------------------
  |  Branch (1846:25): [True: 0, False: 0]
  ------------------
 1847|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1847:29): [True: 0, False: 0]
  |  Branch (1847:40): [True: 0, False: 0]
  ------------------
 1848|      0|                            fi->seek(0, SEEK_SET);
 1849|      0|                            fi->readx(buf3, bufsize);
 1850|      0|                            p = (unsigned const *)&buf3[x];
 1851|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1851:33): [True: 0, False: 0]
  |  Branch (1851:46): [True: 0, False: 0]
  |  Branch (1851:59): [True: 0, False: 0]
  ------------------
 1852|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1852:33): [True: 0, False: 0]
  |  Branch (1852:59): [True: 0, False: 0]
  ------------------
 1853|      0|                            ) {
 1854|      0|                                overlay_offset = x;
 1855|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1856|      0|                                    overlay_offset);
 1857|      0|                                return true;
 1858|      0|                            }
 1859|      0|                        }
 1860|      0|                        break;
 1861|      0|                    }
 1862|      0|                }
 1863|      1|            }
 1864|    170|        }
 1865|    475|        if (391==style) {
  ------------------
  |  Branch (1865:13): [True: 1, False: 474]
  ------------------
 1866|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1867|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1867:20): [True: 0, False: 1]
  ------------------
 1868|      1|            overlay_offset = *uptr;
 1869|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1869:17): [True: 0, False: 1]
  |  Branch (1869:55): [True: 0, False: 0]
  ------------------
 1870|      0|                return true;  // success
 1871|      0|            }
 1872|      1|            overlay_offset = 0;
 1873|      1|            return false;
 1874|      1|        }
 1875|    474|        if (392==style) {
  ------------------
  |  Branch (1875:13): [True: 317, False: 157]
  ------------------
 1876|    317|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1877|       |            // p_info isn't used for execution, so it has less value for checking:
 1878|       |            //      0== .p_progid
 1879|       |            //      .p_filesize == .p_blocksize
 1880|    317|            fi->seek(overlay_offset, SEEK_SET);
 1881|    317|            fi->readx(buf3, bufsize);
 1882|    317|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1883|    317|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1884|    317|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1885|    317|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1885:17): [True: 188, False: 129]
  ------------------
 1886|    188|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1886:17): [True: 50, False: 138]
  ------------------
 1887|     50|                unsigned const method = b_ptr->b_method;
 1888|     50|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  617|     50|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  623|     41|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1888:22): [True: 9, False: 41]
  |  Branch (1888:48): [True: 4, False: 37]
  ------------------
 1889|     13|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1889:21): [True: 6, False: 7]
  ------------------
 1890|      6|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1890:21): [True: 3, False: 3]
  ------------------
 1891|      3|                    return true;
 1892|      3|                }
 1893|     47|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1894|     47|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  618|     47|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  624|     35|#define M_NRV2E_8     9
  ------------------
  |  Branch (1894:22): [True: 12, False: 35]
  |  Branch (1894:45): [True: 7, False: 28]
  ------------------
 1895|     19|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1895:20): [True: 12, False: 7]
  ------------------
 1896|     12|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1896:21): [True: 1, False: 11]
  ------------------
 1897|      1|                    return true;
 1898|      1|                }
 1899|       |                // FIXME: M_LZMA
 1900|     47|            }
 1901|       |
 1902|    313|            overlay_offset = 0;
 1903|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1904|       |            // is the total length of compressed data which precedes it
 1905|       |            //(distance to l_info), so that's another method.
 1906|    313|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1907|    313|            fi->readx(buf3, 0x1000);
 1908|    313|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1909|    313|            unsigned const *p;
 1910|  48.9k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1910:55): [True: 48.7k, False: 139]
  |  Branch (1910:69): [True: 3.21k, False: 45.5k]
  ------------------
 1911|  3.21k|                overlay_offset  = *(TE32 const *)p;
 1912|  3.21k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1912:21): [True: 138, False: 3.07k]
  ------------------
 1913|    138|                    throwCantUnpack("file corrupted");
 1914|  3.07k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1914:21): [True: 2.81k, False: 254]
  ------------------
 1915|  2.81k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1916|  2.81k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1917|  2.81k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1917:25): [True: 10, False: 2.80k]
  ------------------
 1918|     10|                        throwCantUnpack("file corrupted");
 1919|  2.80k|                    fi->seek(overlay_offset, SEEK_SET);
 1920|  2.80k|                    fi->readx(buf3, bufsize);
 1921|  2.80k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1921:25): [True: 647, False: 2.16k]
  ------------------
 1922|    647|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1922:25): [True: 26, False: 621]
  ------------------
 1923|     26|                        return true;
 1924|     26|                    }
 1925|  2.80k|                }
 1926|  3.07k|            }
 1927|    313|        }
 1928|    474|    }
 1929|       |
 1930|  1.20k|    overlay_offset = 0;  // impossible value
 1931|  1.20k|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1932|  1.20k|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1932:9): [True: 945, False: 264]
  |  Branch (1932:19): [True: 944, False: 1]
  ------------------
 1933|    944|        overlay_offset = get_te32(buf + i + l);
 1934|    944|    }
 1935|  1.20k|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1935:16): [True: 272, False: 937]
  ------------------
 1936|    937|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1936:9): [True: 97, False: 840]
  ------------------
 1937|    105|        infoWarning("file corrupted: %s", fi->getName());
 1938|    105|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1939|    105|        fi->seek(sz_mach_headers, SEEK_SET);
 1940|    105|        fi->readx(buf2, buf2.getSize());
 1941|    105|        unsigned const *p = (unsigned const *)&buf2[0];
 1942|    105|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1943|   156k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1943:16): [True: 156k, False: 87]
  ------------------
 1944|   156k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1944:16): [True: 59.3k, False: 97.0k]
  ------------------
 1945|  59.3k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1945:16): [True: 13.1k, False: 46.1k]
  ------------------
 1946|  13.1k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1946:13): [True: 3.05k, False: 10.1k]
  ------------------
 1947|  3.05k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1947:13): [True: 1.71k, False: 1.34k]
  ------------------
 1948|  1.71k|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1948:13): [True: 320, False: 1.39k]
  ------------------
 1949|   156k|        ) {
 1950|    320|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1951|    320|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1951:19): [True: 302, False: 18]
  ------------------
 1952|     18|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1952:31): [True: 0, False: 18]
  ------------------
 1953|     18|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1953:24): [True: 0, False: 18]
  ------------------
 1954|     18|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1955|     18|                return true;
 1956|     18|            }
 1957|    320|        }
 1958|     87|        throwCantUnpack("file corrupted");
 1959|    105|    }
 1960|  1.10k|    return true;
 1961|  1.20k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE16find_SEGMENT_gapEjj:
 1114|     42|{
 1115|     42|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1116|     42|    if (lc_seg!=msegcmd[k].cmd
  ------------------
  |  Branch (1116:9): [True: 16, False: 26]
  ------------------
 1117|     26|    ||  0==msegcmd[k].filesize ) {
  ------------------
  |  Branch (1117:9): [True: 6, False: 20]
  ------------------
 1118|     22|        return 0;
 1119|     22|    }
 1120|     20|    unsigned const hi = msegcmd[k].fileoff + msegcmd[k].filesize;
 1121|     20|    unsigned lo = pos_eof;
 1122|     20|    unsigned j = k;
 1123|     86|    for (;;) { // circular search, optimize for adjacent ascending
 1124|     86|        ++j;
 1125|     86|        if (n_segment==j) {
  ------------------
  |  Branch (1125:13): [True: 14, False: 72]
  ------------------
 1126|     14|            j = 0;
 1127|     14|        }
 1128|     86|        if (k==j) {
  ------------------
  |  Branch (1128:13): [True: 14, False: 72]
  ------------------
 1129|     14|            break;
 1130|     14|        }
 1131|     72|        if (lc_seg==msegcmd[j].cmd
  ------------------
  |  Branch (1131:13): [True: 72, False: 0]
  ------------------
 1132|     72|        &&  0!=msegcmd[j].filesize ) {
  ------------------
  |  Branch (1132:13): [True: 58, False: 14]
  ------------------
 1133|     58|            unsigned const t = (unsigned) msegcmd[j].fileoff;
 1134|     58|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (1134:17): [True: 18, False: 40]
  ------------------
 1135|     18|                lo = t;
 1136|     18|                if (hi==lo) {
  ------------------
  |  Branch (1136:21): [True: 6, False: 12]
  ------------------
 1137|      6|                    break;
 1138|      6|                }
 1139|     18|            }
 1140|     58|        }
 1141|     72|    }
 1142|     20|    return lo - hi;
 1143|     42|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE23compare_segment_commandEPKvS7_:
  560|    314|{
  561|    314|    Mach_segment_command const *const a = (Mach_segment_command const *)aa;
  562|    314|    Mach_segment_command const *const b = (Mach_segment_command const *)bb;
  563|    314|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
  564|    314|    unsigned const xa = a->cmd - lc_seg;
  565|    314|    unsigned const xb = b->cmd - lc_seg;
  566|    314|           if (xa < xb)        return -1;  // LC_SEGMENT first
  ------------------
  |  Branch (566:16): [True: 159, False: 155]
  ------------------
  567|    155|           if (xa > xb)        return  1;
  ------------------
  |  Branch (567:16): [True: 60, False: 95]
  ------------------
  568|       |    // Ascending by .fileoff so that find_SEGMENT_gap works
  569|     95|    if (a->fileoff < b->fileoff)
  ------------------
  |  Branch (569:9): [True: 73, False: 22]
  ------------------
  570|     73|                               return -1;
  571|     22|    if (a->fileoff > b->fileoff)
  ------------------
  |  Branch (571:9): [True: 11, False: 11]
  ------------------
  572|     11|                               return  1;
  573|       |    // Ascending by .vmaddr
  574|     11|    if (a->vmaddr < b->vmaddr) return -1;
  ------------------
  |  Branch (574:9): [True: 11, False: 0]
  ------------------
  575|      0|    if (a->vmaddr > b->vmaddr) return  1;
  ------------------
  |  Branch (575:9): [True: 0, False: 0]
  ------------------
  576|       |    // Descending by .vmsize
  577|      0|    if ((a->vmsize != 0) != (b->vmsize != 0))
  ------------------
  |  Branch (577:9): [True: 0, False: 0]
  ------------------
  578|      0|        return (a->vmsize != 0) ? -1 : 1;
  ------------------
  |  Branch (578:16): [True: 0, False: 0]
  ------------------
  579|       |    // What could remain?
  580|       |    // try to make sort order deterministic and just compare more fields
  581|      0|#define CMP(field) \
  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  583|      0|    CMP(vmsize);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|      0|    CMP(cmdsize);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|      0|    CMP(filesize);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|      0|    CMP(maxprot);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|      0|    CMP(initprot);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|      0|    CMP(nsects);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|      0|    CMP(flags);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|      0|#undef CMP
  591|      0|    return 0;
  592|      0|}
_ZN11PackMachFatC2EP9InputFile:
 2314|  7.37k|PackMachFat::PackMachFat(InputFile *f) : super(f)
 2315|  7.37k|{
 2316|  7.37k|    bele = &N_BELE_RTP::le_policy;  // sham
 2317|  7.37k|}
_ZN11PackMachFatD2Ev:
 2320|  7.37k|{
 2321|  7.37k|}
_ZN11PackMachFat14check_fat_headEv:
 2324|  7.39k|{
 2325|  7.39k|    struct Mach_fat_arch const *const arch = &fat_head.arch[0];
 2326|  7.39k|    unsigned nfat = fat_head.fat.nfat_arch;
 2327|  7.39k|    if (Mach_fat_header::FAT_MAGIC!=fat_head.fat.magic
  ------------------
  |  Branch (2327:9): [True: 7.09k, False: 297]
  ------------------
 2328|  7.13k|    ||  N_FAT_ARCH < nfat) {
  ------------------
  |  Branch (2328:9): [True: 40, False: 257]
  ------------------
 2329|  7.13k|        return 0;
 2330|  7.13k|    }
 2331|    451|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2331:24): [True: 279, False: 172]
  ------------------
 2332|    279|        unsigned const align = arch[j].align;
 2333|    279|        if (24 < align) {
  ------------------
  |  Branch (2333:13): [True: 7, False: 272]
  ------------------
 2334|      7|            char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      7|#define snprintf  upx_safe_snprintf
  ------------------
 2335|      7|                "bad fat_arch alignment 0x%x > 24", align);
 2336|      7|            throwCantPack(msg);
 2337|      7|        }
 2338|    272|        unsigned const mask = ~(~0u<<align);
 2339|    272|        unsigned const size = arch[j].size;
 2340|    272|        unsigned const offset = arch[j].offset;
 2341|    272|        if (align < 12 || align > 24) { // heuristic
  ------------------
  |  Branch (2341:13): [True: 2, False: 270]
  |  Branch (2341:27): [True: 0, False: 270]
  ------------------
 2342|      2|            throwUnknownExecutableFormat("align", 0);
 2343|      2|        }
 2344|    270|        if (mask > size) {
  ------------------
  |  Branch (2344:13): [True: 2, False: 268]
  ------------------
 2345|      2|            throwUnknownExecutableFormat("size", 0);
 2346|      2|        }
 2347|    268|        if (mask & offset
  ------------------
  |  Branch (2347:13): [True: 26, False: 242]
  ------------------
 2348|    242|        ||  (unsigned)fi->st_size_orig() < size + offset
  ------------------
  |  Branch (2348:13): [True: 19, False: 223]
  ------------------
 2349|    223|        ||  (unsigned)fi->st_size_orig() <= offset) {  // redundant unless overflow
  ------------------
  |  Branch (2349:13): [True: 29, False: 194]
  ------------------
 2350|     74|            throwUnknownExecutableFormat("offset", 0);
 2351|     74|        }
 2352|    268|    }
 2353|    172|    return nfat;
 2354|    257|}
_ZN11PackMachFat6unpackEP10OutputFile:
 2475|     17|{
 2476|     17|    if (fo) {  // test mode ("-t") sets fo = nullptr
  ------------------
  |  Branch (2476:9): [True: 17, False: 0]
  ------------------
 2477|     17|        fo->seek(0, SEEK_SET);
 2478|     17|        fo->write(&fat_head, sizeof(fat_head.fat) +
 2479|     17|            fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
 2480|     17|    }
 2481|     17|    unsigned const nfat = check_fat_head();
 2482|     17|    unsigned length;
 2483|     17|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2483:24): [True: 17, False: 0]
  ------------------
 2484|     17|        unsigned base = (fo ? fo->unset_extent() : 0);  // actual length
  ------------------
  |  Branch (2484:26): [True: 17, False: 0]
  ------------------
 2485|     17|        base += ~(~0u<<fat_head.arch[j].align) & (0-base);  // align up
 2486|     17|        if (fo) {
  ------------------
  |  Branch (2486:13): [True: 17, False: 0]
  ------------------
 2487|     17|            fo->seek(base, SEEK_SET);
 2488|     17|            fo->set_extent(base, ~0u);
 2489|     17|        }
 2490|       |
 2491|     17|        ph.u_file_size = fat_head.arch[j].size;
 2492|     17|        fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size);
 2493|     17|        fi->seek(0, SEEK_SET);
 2494|     17|        switch (fat_head.arch[j].cputype) {
  ------------------
  |  Branch (2494:17): [True: 17, False: 0]
  ------------------
 2495|      6|        case PackMachFat::CPU_TYPE_I386: {
  ------------------
  |  Branch (2495:9): [True: 6, False: 11]
  ------------------
 2496|      6|            N_Mach::Mach_header<MachClass_LE32::MachITypes> hdr;
 2497|      6|            typedef N_Mach::Mach_header<MachClass_LE32::MachITypes> Mach_header;
 2498|      6|            fi->readx(&hdr, sizeof(hdr));
 2499|      6|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2499:17): [True: 3, False: 3]
  ------------------
 2500|      3|                PackMachI386 packer(fi);
 2501|      3|                packer.initPackHeader();
 2502|      3|                packer.canUnpack();
 2503|      3|                packer.unpack(fo);
 2504|      3|            }
 2505|      3|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2505:22): [True: 3, False: 0]
  ------------------
 2506|      3|                PackDylibI386 packer(fi);
 2507|      3|                packer.initPackHeader();
 2508|      3|                packer.canUnpack();
 2509|      3|                packer.unpack(fo);
 2510|      3|            }
 2511|      6|        } break;
 2512|     11|        case PackMachFat::CPU_TYPE_X86_64: {
  ------------------
  |  Branch (2512:9): [True: 11, False: 6]
  ------------------
 2513|     11|            N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
 2514|     11|            typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
 2515|     11|            fi->readx(&hdr, sizeof(hdr));
 2516|     11|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2516:17): [True: 8, False: 3]
  ------------------
 2517|      8|                PackMachAMD64 packer(fi);
 2518|      8|                packer.initPackHeader();
 2519|      8|                packer.canUnpack();
 2520|      8|                packer.unpack(fo);
 2521|      8|            }
 2522|      3|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2522:22): [True: 3, False: 0]
  ------------------
 2523|      3|                PackDylibAMD64 packer(fi);
 2524|      3|                packer.initPackHeader();
 2525|      3|                packer.canUnpack();
 2526|      3|                packer.unpack(fo);
 2527|      3|            }
 2528|     11|        } break;
 2529|      0|        case PackMachFat::CPU_TYPE_POWERPC: {
  ------------------
  |  Branch (2529:9): [True: 0, False: 17]
  ------------------
 2530|      0|            N_Mach::Mach_header<MachClass_BE32::MachITypes> hdr;
 2531|      0|            typedef N_Mach::Mach_header<MachClass_BE32::MachITypes> Mach_header;
 2532|      0|            fi->readx(&hdr, sizeof(hdr));
 2533|      0|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2533:17): [True: 0, False: 0]
  ------------------
 2534|      0|                PackMachPPC32 packer(fi);
 2535|      0|                packer.initPackHeader();
 2536|      0|                packer.canUnpack();
 2537|      0|                packer.unpack(fo);
 2538|      0|            }
 2539|      0|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2539:22): [True: 0, False: 0]
  ------------------
 2540|      0|                PackDylibPPC32 packer(fi);
 2541|      0|                packer.initPackHeader();
 2542|      0|                packer.canUnpack();
 2543|      0|                packer.unpack(fo);
 2544|      0|            }
 2545|      0|        } break;
 2546|      0|        case PackMachFat::CPU_TYPE_POWERPC64: {
  ------------------
  |  Branch (2546:9): [True: 0, False: 17]
  ------------------
 2547|      0|            N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
 2548|      0|            typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
 2549|      0|            fi->readx(&hdr, sizeof(hdr));
 2550|      0|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2550:17): [True: 0, False: 0]
  ------------------
 2551|      0|                PackMachPPC64 packer(fi);
 2552|      0|                packer.initPackHeader();
 2553|      0|                packer.canUnpack();
 2554|      0|                packer.unpack(fo);
 2555|      0|            }
 2556|      0|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2556:22): [True: 0, False: 0]
  ------------------
 2557|      0|                PackDylibPPC64 packer(fi);
 2558|      0|                packer.initPackHeader();
 2559|      0|                packer.canUnpack();
 2560|      0|                packer.unpack(fo);
 2561|      0|            }
 2562|      0|        } break;
 2563|     17|        }  // switch cputype
 2564|      0|        fat_head.arch[j].offset = base;
 2565|      0|        length = (fo ? fo->unset_extent() : 0);
  ------------------
  |  Branch (2565:19): [True: 0, False: 0]
  ------------------
 2566|      0|        fat_head.arch[j].size = length - base;
 2567|      0|    }
 2568|      0|    if (fo) {
  ------------------
  |  Branch (2568:9): [True: 0, False: 0]
  ------------------
 2569|      0|        fo->unset_extent();
 2570|       |        fo->seek(0, SEEK_SET);
 2571|      0|        fo->rewrite(&fat_head, sizeof(fat_head.fat) +
 2572|      0|            fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
 2573|      0|    }
 2574|      0|}
_ZN11PackMachFat9canUnpackEv:
 2645|  7.37k|{
 2646|  7.37k|    struct Mach_fat_arch const *const arch = &fat_head.arch[0];
 2647|       |
 2648|  7.37k|    fi->readx(&fat_head, sizeof(fat_head));
 2649|  7.37k|    unsigned const nfat = check_fat_head();
 2650|  7.37k|    if (0 == nfat) {
  ------------------
  |  Branch (2650:9): [True: 7.13k, False: 239]
  ------------------
 2651|  7.13k|        return false;
 2652|  7.13k|    }
 2653|    261|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2653:24): [True: 159, False: 102]
  ------------------
 2654|    159|        fi->set_extent(arch[j].offset, arch[j].size);
 2655|    159|        fi->seek(0, SEEK_SET);
 2656|    159|        switch (arch[j].cputype) {
 2657|     72|        default: return false;
  ------------------
  |  Branch (2657:9): [True: 72, False: 87]
  ------------------
 2658|     26|        case PackMachFat::CPU_TYPE_I386: {
  ------------------
  |  Branch (2658:9): [True: 26, False: 133]
  ------------------
 2659|     26|            PackMachI386 packer(fi);
 2660|     26|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2660:17): [True: 19, False: 7]
  ------------------
 2661|     19|                PackDylibI386 pack2r(fi);
 2662|     19|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2662:21): [True: 12, False: 7]
  ------------------
 2663|     12|                    return 0;
 2664|      7|                else
 2665|      7|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2666|     19|            }
 2667|      7|            else
 2668|      7|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2669|     26|        } break;
 2670|     46|        case PackMachFat::CPU_TYPE_X86_64: {
  ------------------
  |  Branch (2670:9): [True: 46, False: 113]
  ------------------
 2671|     46|            PackMachAMD64 packer(fi);
 2672|     46|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2672:17): [True: 27, False: 19]
  ------------------
 2673|     27|                PackDylibAMD64 pack2r(fi);
 2674|     27|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2674:21): [True: 10, False: 17]
  ------------------
 2675|     10|                    return 0;
 2676|     17|                else
 2677|     17|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2678|     27|            }
 2679|     19|            else
 2680|     19|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2681|     46|        } break;
 2682|     36|        case PackMachFat::CPU_TYPE_POWERPC: {
  ------------------
  |  Branch (2682:9): [True: 8, False: 151]
  ------------------
 2683|      8|            PackMachPPC32 packer(fi);
 2684|      8|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2684:17): [True: 7, False: 1]
  ------------------
 2685|      7|                PackDylibPPC32 pack2r(fi);
 2686|      7|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2686:21): [True: 6, False: 1]
  ------------------
 2687|      6|                    return 0;
 2688|      1|                else
 2689|      1|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2690|      7|            }
 2691|      1|            else
 2692|      1|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2693|      8|        } break;
 2694|      7|        case PackMachFat::CPU_TYPE_POWERPC64: {
  ------------------
  |  Branch (2694:9): [True: 7, False: 152]
  ------------------
 2695|      7|            PackMachPPC64 packer(fi);
 2696|      7|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2696:17): [True: 7, False: 0]
  ------------------
 2697|      7|                PackDylibPPC64 pack2r(fi);
 2698|      7|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2698:21): [True: 7, False: 0]
  ------------------
 2699|      7|                    return 0;
 2700|      0|                else
 2701|      0|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2702|      7|            }
 2703|      0|            else
 2704|      0|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2705|      7|        } break;
 2706|    159|        }  // switch cputype
 2707|    159|    }
 2708|    102|    return 1;
 2709|    239|}
p_mach.cpp:_ZL21is_bad_linker_commandjjjjj:
  193|  15.3k|{
  194|  15.3k|    cmd &= ~LC_REQ_DYLD;
  195|  15.3k|   return !cmd  // there is no LC_ cmd 0
  ------------------
  |  Branch (195:11): [True: 65, False: 15.3k]
  ------------------
  196|  15.3k|   || sizeof(lc_cmd_size) <= cmd  // beyond table of known sizes
  ------------------
  |  Branch (196:7): [True: 342, False: 14.9k]
  ------------------
  197|  14.9k|   || !lc_cmd_size[cmd]  // obsolete, or proper size not known to us
  ------------------
  |  Branch (197:7): [True: 9, False: 14.9k]
  ------------------
  198|  14.9k|   || !cmdsize || ((-1+ szAddr) & cmdsize)  // size not aligned
  ------------------
  |  Branch (198:7): [True: 8, False: 14.9k]
  |  Branch (198:19): [True: 66, False: 14.8k]
  ------------------
  199|  14.8k|   || headway < cmdsize  // not within header area
  ------------------
  |  Branch (199:7): [True: 126, False: 14.7k]
  ------------------
  200|  14.7k|   || (lc_seg == cmd  // lc_seg must have following lc_sections
  ------------------
  |  Branch (200:8): [True: 8.20k, False: 6.56k]
  ------------------
  201|  8.20k|       && (cmdsize - lc_seg_info[szAddr>>3].segcmdsize) %
  ------------------
  |  Branch (201:11): [True: 13, False: 8.19k]
  ------------------
  202|  8.20k|                     lc_seg_info[szAddr>>3].seccmdsize)
  203|  14.7k|   || (0 < lc_cmd_size[cmd] &&  lc_cmd_size[cmd] != (int)cmdsize)  // not known size
  ------------------
  |  Branch (203:8): [True: 1.24k, False: 13.5k]
  |  Branch (203:33): [True: 19, False: 1.22k]
  ------------------
  204|  14.7k|   || (0 > lc_cmd_size[cmd] && -lc_cmd_size[cmd]  > (int)cmdsize)  // below minimum size
  ------------------
  |  Branch (204:8): [True: 13.5k, False: 1.22k]
  |  Branch (204:32): [True: 6, False: 13.5k]
  ------------------
  205|  15.3k|   ;
  206|  15.3k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEED2Ev:
  235|     14|{
  236|     14|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjjjj:
  219|     14|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|     14|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|     14|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|     14|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|     14|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|     14|{
  225|     14|    MachClass::compileTimeAssertions();
  226|     14|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|     14|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|     14|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|     14|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|     14|    memset(&linkitem, 0, sizeof(linkitem));
  231|     14|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
 1644|     14|{
 1645|     14|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1646|     14|    fi->seek(0, SEEK_SET);
 1647|     14|    fi->readx(&mhdri, sizeof(mhdri));
 1648|       |
 1649|     14|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1649:9): [True: 8, False: 6]
  ------------------
 1650|      6|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1650:9): [True: 6, False: 0]
  ------------------
 1651|      0|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1651:9): [True: 0, False: 0]
  ------------------
 1652|     14|    )
 1653|     14|        return false;
 1654|      0|    my_cpusubtype = mhdri.cpusubtype;
 1655|       |
 1656|      0|    unsigned const ncmds = mhdri.ncmds;
 1657|      0|    int headway = (int)mhdri.sizeofcmds;
 1658|      0|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1472|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1658:9): [True: 0, False: 0]
  |  Branch (1658:19): [True: 0, False: 0]
  |  Branch (1658:41): [True: 0, False: 0]
  ------------------
 1659|      0|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1659:10): [True: 0, False: 0]
  ------------------
 1660|      0|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1661|      0|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1662|      0|        throwCantUnpack(msg);
 1663|      0|    }
 1664|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1665|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1666|      0|    if ((2 == ncmds
  ------------------
  |  Branch (1666:10): [True: 0, False: 0]
  ------------------
 1667|      0|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1667:12): [True: 0, False: 0]
  ------------------
 1668|      0|    ||  (3 <= ncmds
  ------------------
  |  Branch (1668:10): [True: 0, False: 0]
  ------------------
 1669|      0|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1669:12): [True: 0, False: 0]
  ------------------
 1670|      0|                    + sizeof(Mach_main_command)))) {
 1671|      0|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1672|      0|        throwCantUnpack("file corrupted");
 1673|      0|    }
 1674|      0|    sz_mach_headers = headway + sizeof(mhdri);
 1675|      0|    if (2048 < headway) {
  ------------------
  |  Branch (1675:9): [True: 0, False: 0]
  ------------------
 1676|      0|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1677|      0|    }
 1678|      0|    if (!headway) {
  ------------------
  |  Branch (1678:9): [True: 0, False: 0]
  ------------------
 1679|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1680|      0|    }
 1681|      0|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1682|      0|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1683|      0|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1684|       |
 1685|      0|    Mach_segment_command const *ptrTEXT = nullptr;
 1686|      0|    upx_uint64_t rip = 0;
 1687|      0|    unsigned style = 0;
 1688|      0|    off_t offLINK = 0;
  ------------------
  |  |  219|      0|#define off_t upx_off_t
  ------------------
 1689|      0|    unsigned pos_next = 0;
 1690|      0|    unsigned nseg = 0;
 1691|      0|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1692|      0|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1692:25): [True: 0, False: 0]
  ------------------
 1693|      0|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1694|      0|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1694:13): [True: 0, False: 0]
  ------------------
 1695|      0|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1696|      0|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1697|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1698|      0|            throwCantPack(buf);
 1699|      0|        }
 1700|      0|        unsigned const cmd = ptr->cmd;
 1701|      0|        unsigned const cmdsize = ptr->cmdsize;
 1702|      0|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1702:13): [True: 0, False: 0]
  ------------------
 1703|      0|                opt->info_mode += 1;
 1704|      0|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1705|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1706|      0|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1707|      0|                opt->info_mode -= 1;
 1708|      0|                throwCantUnpack("file corrupted");
 1709|      0|        }
 1710|      0|        headway -= cmdsize;
 1711|      0|        if (headway < 0) {
  ------------------
  |  Branch (1711:13): [True: 0, False: 0]
  ------------------
 1712|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1713|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1714|      0|                (unsigned)ptr->cmdsize);
 1715|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1716|      0|        }
 1717|      0|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1717:13): [True: 0, False: 0]
  ------------------
 1718|      0|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1719|      0|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1719:17): [True: 0, False: 0]
  ------------------
 1720|      0|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1720:17): [True: 0, False: 0]
  ------------------
 1721|      0|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1721:17): [True: 0, False: 0]
  ------------------
 1722|      0|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1723|      0|                      "  filesize=0x%lx  fileoff=0x%lx",
 1724|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1725|      0|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1726|      0|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1727|      0|                throwCantUnpack("file corrupted");
 1728|      0|            }
 1729|      0|            ++nseg;
 1730|      0|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1730:17): [True: 0, False: 0]
  ------------------
 1731|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1732|      0|                style = 391;  // UPX 3.91
 1733|      0|            }
 1734|      0|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1734:17): [True: 0, False: 0]
  ------------------
 1735|      0|                ptrTEXT = segptr;
 1736|      0|                style = 391;  // UPX 3.91
 1737|      0|            }
 1738|      0|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1738:17): [True: 0, False: 0]
  ------------------
 1739|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1740|      0|                style = 392;  // UPX 3.92
 1741|      0|            }
 1742|      0|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1742:17): [True: 0, False: 0]
  ------------------
 1743|      0|                offLINK = segptr->fileoff;
 1744|      0|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1744:21): [True: 0, False: 0]
  ------------------
 1745|      0|                    style = 395;
 1746|      0|                }
 1747|      0|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1747:21): [True: 0, False: 0]
  ------------------
 1748|      0|                    offLINK = pos_next;
 1749|      0|                }
 1750|      0|            }
 1751|      0|            pos_next = segptr->filesize + segptr->fileoff;
 1752|      0|        }
 1753|      0|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1753:18): [True: 0, False: 0]
  ------------------
 1754|      0|            rip = entryVMA = threadc_getPC(ptr);
 1755|      0|        }
 1756|      0|    }
 1757|      0|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1757:9): [True: 0, False: 0]
  |  Branch (1757:20): [True: 0, False: 0]
  ------------------
 1758|      0|        style = 392;
 1759|      0|    }
 1760|      0|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1760:9): [True: 0, False: 0]
  |  Branch (1760:23): [True: 0, False: 0]
  |  Branch (1760:37): [True: 0, False: 0]
  |  Branch (1760:49): [True: 0, False: 0]
  ------------------
 1761|      0|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1762|      0|    }
 1763|      0|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1763:9): [True: 0, False: 0]
  |  Branch (1763:23): [True: 0, False: 0]
  ------------------
 1764|      0|        return false;
 1765|      0|    }
 1766|       |
 1767|      0|    int const small = 32 + sizeof(overlay_offset);
 1768|      0|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1769|      0|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1769:9): [True: 0, False: 0]
  ------------------
 1770|      0|        fi->seek(offLINK - bufsize, SEEK_SET);
 1771|      0|    } else
 1772|      0|    if (392 == style) {
  ------------------
  |  Branch (1772:9): [True: 0, False: 0]
  ------------------
 1773|      0|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1773:13): [True: 0, False: 0]
  ------------------
 1774|      0|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1775|      0|        }
 1776|      0|        else { // PackHeader follows loader at __LINKEDIT
 1777|      0|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1777:17): [True: 0, False: 0]
  ------------------
 1778|      0|                bufsize = fi->st_size() - offLINK;
 1779|      0|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1779:21): [True: 0, False: 0]
  ------------------
 1780|      0|                    throwCantUnpack("bad offLINK %p %p",
 1781|      0|                        (void *)offLINK, (void *)file_size);
 1782|      0|                }
 1783|      0|            }
 1784|      0|            fi->seek(offLINK, SEEK_SET);
 1785|      0|        }
 1786|      0|    } else
 1787|      0|    if (395 == style) {
  ------------------
  |  Branch (1787:9): [True: 0, False: 0]
  ------------------
 1788|      0|        fi->seek(offLINK - bufsize, SEEK_SET);
 1789|      0|    }
 1790|      0|    MemBuffer buf(bufsize);
 1791|      0|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1792|      0|    buf3.clear();
 1793|       |
 1794|      0|    fi->readx(buf, bufsize);
 1795|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1796|       |
 1797|      0|    int i = bufsize;
 1798|      0|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1798:12): [True: 0, False: 0]
  |  Branch (1798:25): [True: 0, False: 0]
  ------------------
 1799|      0|    i -= small;
 1800|       |    // allow incompressible extents
 1801|      0|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1801:9): [True: 0, False: 0]
  |  Branch (1801:18): [True: 0, False: 0]
  ------------------
 1802|       |        // Breadcrumbs failed.
 1803|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1804|      0|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1804:38): [True: 0, False: 0]
  ------------------
 1805|      0|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1805:13): [True: 0, False: 0]
  |  Branch (1805:24): [True: 0, False: 0]
  |  Branch (1805:31): [True: 0, False: 0]
  ------------------
 1806|      0|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1807|      0|            fi->readx(buf3, bufsize);
 1808|      0|            unsigned char const *b = &buf3[0];
 1809|      0|            unsigned disp = *(TE32 const *)&b[1];
 1810|      0|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1810:17): [True: 0, False: 0]
  ------------------
 1811|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1811:21): [True: 0, False: 0]
  |  Branch (1811:35): [True: 0, False: 0]
  ------------------
 1812|       |                    // disp and the b_info that follow it are used as raw offsets
 1813|       |                    // into buf3, which holds only bufsize bytes that were read.
 1814|      0|                    && (disp + 11 + sizeof(struct b_info)) <= bufsize
  ------------------
  |  Branch (1814:24): [True: 0, False: 0]
  ------------------
 1815|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1816|       |                    // searching for "executable_path=" etc.
 1817|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1817:21): [True: 0, False: 0]
  |  Branch (1817:40): [True: 0, False: 0]
  ------------------
 1818|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1819|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1819:25): [True: 0, False: 0]
  |  Branch (1819:46): [True: 0, False: 0]
  ------------------
 1820|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1821|       |                        // This is the folded stub.
 1822|       |                        // FIXME: check b_method?
 1823|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000
  ------------------
  |  Branch (1823:29): [True: 0, False: 0]
  |  Branch (1823:60): [True: 0, False: 0]
  ------------------
 1824|       |                            // overlay_offset is read at (32 + b); keep that read
 1825|       |                            // inside the bytes that were read into buf3.
 1826|      0|                        && ((11 + disp + sizeof(struct b_info) + (unsigned) bptr->sz_cpr)
  ------------------
  |  Branch (1826:28): [True: 0, False: 0]
  ------------------
 1827|      0|                                + 32 + sizeof(TE32)) <= bufsize) {
 1828|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1829|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1830|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1831|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1831:33): [True: 0, False: 0]
  ------------------
 1832|      0|                                return true;  // success
 1833|      0|                            }
 1834|      0|                            overlay_offset = 0;  // failure
 1835|      0|                        }
 1836|      0|                    }
 1837|      0|                }
 1838|      0|            }
 1839|      0|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1839:17): [True: 0, False: 0]
  ------------------
 1840|      0|                infoWarning("file corrupted: %s", fi->getName());
 1841|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1842|      0|                fi->readx(buf3, bufsize);
 1843|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1844|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1844:24): [True: 0, False: 0]
  ------------------
 1845|      0|                    unsigned x = *p;
 1846|      0|                    if (x) {
  ------------------
  |  Branch (1846:25): [True: 0, False: 0]
  ------------------
 1847|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1847:29): [True: 0, False: 0]
  |  Branch (1847:40): [True: 0, False: 0]
  ------------------
 1848|      0|                            fi->seek(0, SEEK_SET);
 1849|      0|                            fi->readx(buf3, bufsize);
 1850|      0|                            p = (unsigned const *)&buf3[x];
 1851|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1851:33): [True: 0, False: 0]
  |  Branch (1851:46): [True: 0, False: 0]
  |  Branch (1851:59): [True: 0, False: 0]
  ------------------
 1852|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1852:33): [True: 0, False: 0]
  |  Branch (1852:59): [True: 0, False: 0]
  ------------------
 1853|      0|                            ) {
 1854|      0|                                overlay_offset = x;
 1855|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1856|      0|                                    overlay_offset);
 1857|      0|                                return true;
 1858|      0|                            }
 1859|      0|                        }
 1860|      0|                        break;
 1861|      0|                    }
 1862|      0|                }
 1863|      0|            }
 1864|      0|        }
 1865|      0|        if (391==style) {
  ------------------
  |  Branch (1865:13): [True: 0, False: 0]
  ------------------
 1866|      0|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1867|      0|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1867:20): [True: 0, False: 0]
  ------------------
 1868|      0|            overlay_offset = *uptr;
 1869|      0|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1869:17): [True: 0, False: 0]
  |  Branch (1869:55): [True: 0, False: 0]
  ------------------
 1870|      0|                return true;  // success
 1871|      0|            }
 1872|      0|            overlay_offset = 0;
 1873|      0|            return false;
 1874|      0|        }
 1875|      0|        if (392==style) {
  ------------------
  |  Branch (1875:13): [True: 0, False: 0]
  ------------------
 1876|      0|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1877|       |            // p_info isn't used for execution, so it has less value for checking:
 1878|       |            //      0== .p_progid
 1879|       |            //      .p_filesize == .p_blocksize
 1880|      0|            fi->seek(overlay_offset, SEEK_SET);
 1881|      0|            fi->readx(buf3, bufsize);
 1882|      0|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1883|      0|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1884|      0|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1885|      0|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1885:17): [True: 0, False: 0]
  ------------------
 1886|      0|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1886:17): [True: 0, False: 0]
  ------------------
 1887|      0|                unsigned const method = b_ptr->b_method;
 1888|      0|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  617|      0|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  623|      0|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1888:22): [True: 0, False: 0]
  |  Branch (1888:48): [True: 0, False: 0]
  ------------------
 1889|      0|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1889:21): [True: 0, False: 0]
  ------------------
 1890|      0|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1890:21): [True: 0, False: 0]
  ------------------
 1891|      0|                    return true;
 1892|      0|                }
 1893|      0|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1894|      0|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  618|      0|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  624|      0|#define M_NRV2E_8     9
  ------------------
  |  Branch (1894:22): [True: 0, False: 0]
  |  Branch (1894:45): [True: 0, False: 0]
  ------------------
 1895|      0|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1895:20): [True: 0, False: 0]
  ------------------
 1896|      0|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1896:21): [True: 0, False: 0]
  ------------------
 1897|      0|                    return true;
 1898|      0|                }
 1899|       |                // FIXME: M_LZMA
 1900|      0|            }
 1901|       |
 1902|      0|            overlay_offset = 0;
 1903|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1904|       |            // is the total length of compressed data which precedes it
 1905|       |            //(distance to l_info), so that's another method.
 1906|      0|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1907|      0|            fi->readx(buf3, 0x1000);
 1908|      0|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1909|      0|            unsigned const *p;
 1910|      0|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1910:55): [True: 0, False: 0]
  |  Branch (1910:69): [True: 0, False: 0]
  ------------------
 1911|      0|                overlay_offset  = *(TE32 const *)p;
 1912|      0|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1912:21): [True: 0, False: 0]
  ------------------
 1913|      0|                    throwCantUnpack("file corrupted");
 1914|      0|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1914:21): [True: 0, False: 0]
  ------------------
 1915|      0|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1916|      0|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1917|      0|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1917:25): [True: 0, False: 0]
  ------------------
 1918|      0|                        throwCantUnpack("file corrupted");
 1919|      0|                    fi->seek(overlay_offset, SEEK_SET);
 1920|      0|                    fi->readx(buf3, bufsize);
 1921|      0|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1921:25): [True: 0, False: 0]
  ------------------
 1922|      0|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1922:25): [True: 0, False: 0]
  ------------------
 1923|      0|                        return true;
 1924|      0|                    }
 1925|      0|                }
 1926|      0|            }
 1927|      0|        }
 1928|      0|    }
 1929|       |
 1930|      0|    overlay_offset = 0;  // impossible value
 1931|      0|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1932|      0|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1932:9): [True: 0, False: 0]
  |  Branch (1932:19): [True: 0, False: 0]
  ------------------
 1933|      0|        overlay_offset = get_te32(buf + i + l);
 1934|      0|    }
 1935|      0|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1935:16): [True: 0, False: 0]
  ------------------
 1936|      0|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1936:9): [True: 0, False: 0]
  ------------------
 1937|      0|        infoWarning("file corrupted: %s", fi->getName());
 1938|      0|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1939|      0|        fi->seek(sz_mach_headers, SEEK_SET);
 1940|      0|        fi->readx(buf2, buf2.getSize());
 1941|      0|        unsigned const *p = (unsigned const *)&buf2[0];
 1942|      0|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1943|      0|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1943:16): [True: 0, False: 0]
  ------------------
 1944|      0|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1944:16): [True: 0, False: 0]
  ------------------
 1945|      0|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1945:16): [True: 0, False: 0]
  ------------------
 1946|      0|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1946:13): [True: 0, False: 0]
  ------------------
 1947|      0|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1947:13): [True: 0, False: 0]
  ------------------
 1948|      0|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1948:13): [True: 0, False: 0]
  ------------------
 1949|      0|        ) {
 1950|      0|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1951|      0|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1951:19): [True: 0, False: 0]
  ------------------
 1952|      0|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1952:31): [True: 0, False: 0]
  ------------------
 1953|      0|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1953:24): [True: 0, False: 0]
  ------------------
 1954|      0|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1955|      0|                return true;
 1956|      0|            }
 1957|      0|        }
 1958|      0|        throwCantUnpack("file corrupted");
 1959|      0|    }
 1960|      0|    return true;
 1961|      0|}

_ZNK12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE10getVersionEv:
  739|  5.80k|    virtual int getVersion() const override { return 13; }
_ZNK12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
  739|  9.55k|    virtual int getVersion() const override { return 13; }
_ZNK12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
  739|  15.6k|    virtual int getVersion() const override { return 13; }
_ZNK13PackDylibI3869getFormatEv:
 1055|     10|    virtual int getFormat() const override { return UPX_F_DYLIB_i386; }
  ------------------
  |  |  586|     10|#define UPX_F_DYLIB_i386          33
  ------------------
_ZNK12PackMachI3869getFormatEv:
 1003|  10.0k|    virtual int getFormat() const override { return UPX_F_MACH_i386; }
  ------------------
  |  |  582|  10.0k|#define UPX_F_MACH_i386           29
  ------------------
_ZNK14PackDylibAMD649getFormatEv:
 1123|  11.6k|    virtual int getFormat() const override { return UPX_F_DYLIB_AMD64; }
  ------------------
  |  |  588|  11.6k|#define UPX_F_DYLIB_AMD64         35
  ------------------
_ZNK13PackMachAMD649getFormatEv:
 1070|  9.84k|    virtual int getFormat() const override { return UPX_F_MACH_AMD64; }
  ------------------
  |  |  587|  9.84k|#define UPX_F_MACH_AMD64          34
  ------------------
_ZNK13PackMachPPC329getFormatEv:
  868|  11.6k|    virtual int getFormat() const override { return UPX_F_MACH_PPC32; }
  ------------------
  |  |  603|  11.6k|#define UPX_F_MACH_PPC32        131
  ------------------
_ZN12PackMachI38613threadc_getPCEPKv:
 1036|    322|    upx_uint64_t threadc_getPC(void const *ptr)  override{
 1037|    322|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1038|    322|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1038:13): [True: 0, False: 322]
  ------------------
 1039|    322|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1039:13): [True: 87, False: 235]
  ------------------
 1040|    235|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1040:13): [True: 131, False: 104]
  ------------------
 1041|    293|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1041:13): [True: 75, False: 29]
  ------------------
 1042|    293|            return ~0ull;
 1043|    293|        }
 1044|     29|        return tc->state.eip;
 1045|    322|    }
_ZNK13PackMachAMD647getNameEv:
 1071|      1|    virtual const char *getName() const override { return "macho/amd64"; }
_ZN13PackMachAMD6413threadc_getPCEPKv:
 1104|    529|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1105|    529|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1106|    529|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1106:13): [True: 0, False: 529]
  ------------------
 1107|    529|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1107:13): [True: 151, False: 378]
  ------------------
 1108|    378|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1108:13): [True: 127, False: 251]
  ------------------
 1109|    348|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1109:13): [True: 70, False: 181]
  ------------------
 1110|    348|            return ~0ull;
 1111|    348|        }
 1112|    181|        return tc->state.rip;
 1113|    529|    }
_ZN13PackMachPPC3213threadc_getPCEPKv:
  902|    250|    upx_uint64_t threadc_getPC(void const *ptr) override {
  903|    250|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
  904|    250|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (904:13): [True: 0, False: 250]
  ------------------
  905|    250|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (905:13): [True: 134, False: 116]
  ------------------
  906|    116|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (906:13): [True: 67, False: 49]
  ------------------
  907|    234|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (907:13): [True: 33, False: 16]
  ------------------
  908|    234|            return ~0ull;
  909|    234|        }
  910|     16|        return tc->state.srr0;
  911|    250|    }
_ZNK13PackMachARMEL9getFormatEv:
 1138|  9.02k|    virtual int getFormat() const override { return UPX_F_MACH_ARM; }
  ------------------
  |  |  585|  9.02k|#define UPX_F_MACH_ARM            32
  ------------------
_ZN13PackMachARMEL13threadc_getPCEPKv:
 1172|    573|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1173|    573|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1174|    573|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1174:13): [True: 0, False: 573]
  ------------------
 1175|    573|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1175:13): [True: 458, False: 115]
  ------------------
 1176|    115|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1176:13): [True: 65, False: 50]
  ------------------
 1177|    562|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1177:13): [True: 39, False: 11]
  ------------------
 1178|    562|            return ~0ull;
 1179|    562|        }
 1180|     11|        return tc->state.pc;
 1181|    573|    }
_ZNK15PackMachARM64EL9getFormatEv:
 1191|  8.88k|    virtual int getFormat() const override { return UPX_F_MACH_ARM64; }
  ------------------
  |  |  590|  8.88k|#define UPX_F_MACH_ARM64          37
  ------------------
_ZNK15PackMachARM64EL7getNameEv:
 1192|      1|    virtual const char *getName() const override { return "macho/arm64"; }
_ZN15PackMachARM64EL13threadc_getPCEPKv:
 1224|    105|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1225|    105|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1226|    105|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1226:13): [True: 0, False: 105]
  ------------------
 1227|    105|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1227:13): [True: 69, False: 36]
  ------------------
 1228|     36|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1228:13): [True: 1, False: 35]
  ------------------
 1229|     91|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1229:13): [True: 21, False: 14]
  ------------------
 1230|     91|            return ~0ull;
 1231|     91|        }
 1232|     14|        return tc->state.pc;
 1233|    105|    }
_ZNK11PackMachFat10getVersionEv:
 1243|  7.37k|    virtual int getVersion() const override { return 13; }
_ZNK11PackMachFat9getFormatEv:
 1244|  14.7k|    virtual int getFormat() const override { return UPX_F_MACH_FAT; }
  ------------------
  |  |  606|  14.7k|#define UPX_F_MACH_FAT          134
  ------------------
_ZN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  574|     14|    static void compileTimeAssertions() {
  575|     14|        BeLePolicy::compileTimeAssertions();
  576|     14|        COMPILE_TIME_ASSERT(sizeof(Addr) == 8)
  ------------------
  |  |  250|     14|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|     14|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  577|     14|    }
_ZN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  532|  5.81k|    static void compileTimeAssertions() {
  533|  5.81k|        BeLePolicy::compileTimeAssertions();
  534|  5.81k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 4)
  ------------------
  |  |  250|  5.81k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  5.81k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  535|  5.81k|    }
_ZN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  532|  9.58k|    static void compileTimeAssertions() {
  533|  9.58k|        BeLePolicy::compileTimeAssertions();
  534|  9.58k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 4)
  ------------------
  |  |  250|  9.58k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  9.58k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  535|  9.58k|    }
_ZN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  574|  14.8k|    static void compileTimeAssertions() {
  575|  14.8k|        BeLePolicy::compileTimeAssertions();
  576|  14.8k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 8)
  ------------------
  |  |  250|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  577|  14.8k|    }

_ZN7PackPs1C2EP9InputFile:
   80|  2.89k|    : super(f), isCon(!opt->ps1_exe.boot_only), is32Bit(!opt->ps1_exe.do_8bit) {
   81|  2.89k|    bele = &N_BELE_RTP::le_policy;
   82|       |
   83|  2.89k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_t) == 136)
  ------------------
  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   84|  2.89k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_hb_t) == 44)
  ------------------
  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   85|  2.89k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_chb_t) == 5)
  ------------------
  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   86|  2.89k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_t)
  ------------------
  |  |  449|  2.89k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  2.89k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  2.89k|    {                                                                                              \
  |  |  |  |  |  |  432|  2.89k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  2.89k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  2.89k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  2.89k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  2.89k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  2.89k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  2.89k|        };                                                                                         \
  |  |  |  |  |  |  439|  2.89k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  2.89k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  2.89k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  2.89k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  2.89k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  2.89k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  2.89k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  2.89k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  2.89k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_hb_t)
  ------------------
  |  |  449|  2.89k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  2.89k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  2.89k|    {                                                                                              \
  |  |  |  |  |  |  432|  2.89k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  2.89k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  2.89k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  2.89k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  2.89k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  2.89k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  2.89k|        };                                                                                         \
  |  |  |  |  |  |  439|  2.89k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  2.89k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  2.89k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  2.89k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  2.89k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  2.89k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  2.89k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  2.89k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  2.89k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_chb_t)
  ------------------
  |  |  449|  2.89k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  446|  2.89k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  431|  2.89k|    {                                                                                              \
  |  |  |  |  |  |  432|  2.89k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  433|  2.89k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  434|  2.89k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  435|  2.89k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  436|  2.89k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  437|  2.89k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  438|  2.89k|        };                                                                                         \
  |  |  |  |  |  |  439|  2.89k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  440|  2.89k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  441|  2.89k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  442|  2.89k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  443|  2.89k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  444|  2.89k|    }
  |  |  |  |  ------------------
  |  |  |  |  447|  2.89k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  448|  2.89k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|       |
   90|  2.89k|    COMPILE_TIME_ASSERT(PS_HDR_SIZE > sizeof(ps1_exe_t))
  ------------------
  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   91|  2.89k|    COMPILE_TIME_ASSERT(SZ_IH_BKUP == 40)
  ------------------
  |  |  250|  2.89k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.89k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   92|       |
   93|  2.89k|    fdata_size = file_size - PS_HDR_SIZE;
  ------------------
  |  |   45|  2.89k|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|  2.89k|#define CD_SEC        2048
  |  |  ------------------
  ------------------
   94|  2.89k|    ram_size = !opt->ps1_exe.do_8mib ? 0x200000 : 0x800000;
  ------------------
  |  Branch (94:16): [True: 2.89k, False: 0]
  ------------------
   95|  2.89k|}
_ZN7PackPs114readFileHeaderEv:
  114|  2.89k|int PackPs1::readFileHeader() {
  115|  2.89k|    fi->seek(0, SEEK_SET);
  116|  2.89k|    fi->readx(&ih, sizeof(ih));
  117|  2.89k|    if (memcmp(&ih.id[0], "PS-X EXE", 8) != 0 && memcmp(&ih.id[0], "EXE X-SP", 8) != 0)
  ------------------
  |  Branch (117:9): [True: 2.85k, False: 38]
  |  Branch (117:50): [True: 2.71k, False: 145]
  ------------------
  118|  2.71k|        return 0;
  119|    183|    if (ih.text != 0 || ih.data != 0)
  ------------------
  |  Branch (119:9): [True: 48, False: 135]
  |  Branch (119:25): [True: 32, False: 103]
  ------------------
  120|     80|        return 0;
  121|    103|    return UPX_F_PS1_EXE;
  ------------------
  |  |  571|    103|#define UPX_F_PS1_EXE             18
  ------------------
  122|    183|}
_ZN7PackPs114readBkupHeaderEv:
  124|     93|bool PackPs1::readBkupHeader() {
  125|     93|    fi->seek(sizeof(ps1_exe_t) + 8, SEEK_SET);
  126|     93|    fi->readx(&bh, sizeof(bh));
  127|       |
  128|     93|    if (bh.ih_csum != upx_adler32(&bh, SZ_IH_BKUP)) {
  ------------------
  |  |   51|     93|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (128:9): [True: 30, False: 63]
  ------------------
  129|     30|        byte buf[sizeof(bh)];
  130|     30|        fi->seek(sizeof(ps1_exe_t), SEEK_SET);
  131|     30|        fi->readx(buf, sizeof(bh));
  132|     30|        if (!getBkupHeader(buf, (byte *) &bh))
  ------------------
  |  Branch (132:13): [True: 29, False: 1]
  ------------------
  133|     29|            return false;
  134|     30|    }
  135|     64|    return true;
  136|     93|}
_ZN7PackPs113getBkupHeaderEPhS0_:
  170|     30|bool PackPs1::getBkupHeader(byte *p, byte *dst) {
  171|     30|    ps1_exe_chb_t *src = (ps1_exe_chb_t *) p;
  172|       |
  173|     30|    if (src && (src->id == '1' && src->len < SZ_IH_BKUP) && dst) {
  ------------------
  |  |   51|      4|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (173:9): [True: 30, False: 0]
  |  Branch (173:17): [True: 4, False: 26]
  |  Branch (173:35): [True: 1, False: 3]
  |  Branch (173:61): [True: 1, False: 0]
  ------------------
  174|      1|        ByteArray(unc_bh, MemBuffer::getSizeForDecompression(SZ_IH_BKUP));
  ------------------
  |  |  479|      1|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  476|      1|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  477|      1|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  |  |  ------------------
  |  |  |  |  |  | 1472|      1|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|       |
  176|      1|        unsigned sz_bh = SZ_IH_BKUP;
  ------------------
  |  |   51|      1|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  177|      1|        int r = upx_decompress((const byte *) &src->ih_bkup, src->len, unc_bh, &sz_bh, M_NRV2E_8,
  ------------------
  |  |  624|      1|#define M_NRV2E_8     9
  ------------------
  178|      1|                               nullptr);
  179|      1|        if (r == UPX_E_OUT_OF_MEMORY)
  ------------------
  |  |  543|      1|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
  |  Branch (179:13): [True: 0, False: 1]
  ------------------
  180|      0|            throwOutOfMemoryException();
  181|      1|        if (r != UPX_E_OK || sz_bh != SZ_IH_BKUP)
  ------------------
  |  |  541|      2|#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: 1, False: 0]
  |  Branch (181:30): [True: 0, False: 0]
  ------------------
  182|      1|            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|     29|        return false;
  190|      0|    return true;
  191|     30|}
_ZN7PackPs115checkFileHeaderEv:
  193|     62|bool PackPs1::checkFileHeader() {
  194|     62|    if (fdata_size != ih.tx_len || (ih.tx_len & 3)) {
  ------------------
  |  Branch (194:9): [True: 26, False: 36]
  |  Branch (194:36): [True: 1, False: 35]
  ------------------
  195|     27|        if (!opt->force)
  ------------------
  |  Branch (195:13): [True: 27, False: 0]
  ------------------
  196|     27|            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|     27|    }
  204|     35|    if (!opt->force && (ih.da_ptr != 0 || ih.da_len != 0 || ih.bs_ptr != 0 || ih.bs_len != 0)) {
  ------------------
  |  Branch (204:9): [True: 35, False: 0]
  |  Branch (204:25): [True: 18, False: 17]
  |  Branch (204:43): [True: 1, False: 16]
  |  Branch (204:61): [True: 13, False: 3]
  |  Branch (204:79): [True: 1, False: 2]
  ------------------
  205|     33|        infoWarning("unsupported header field entry");
  206|     33|        return false;
  207|     33|    }
  208|      2|    if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   56|      2|#define EXE_BS   (ih.epc & K0_BS)
  |  |  ------------------
  |  |  |  |   54|      2|#define K0_BS    (0x80000000)
  |  |  ------------------
  ------------------
                  if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   46|      2|#define PS_RAM_SIZE   ram_size
  ------------------
                  if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   49|      2|#define PS_STACK_SIZE (PS_RAM_SIZE / 256)
  |  |  ------------------
  |  |  |  |   46|      2|#define PS_RAM_SIZE   ram_size
  |  |  ------------------
  ------------------
  |  Branch (208:9): [True: 1, False: 1]
  ------------------
  209|      1|        if (!opt->force)
  ------------------
  |  Branch (209:13): [True: 1, False: 0]
  ------------------
  210|      1|            return false;
  211|      0|        else
  212|      0|            infoWarning("%s: stack pointer offset low", fi->getName());
  213|      1|    }
  214|      1|    return true;
  215|      2|}
_ZN7PackPs19canUnpackEv:
  616|  2.89k|tribool PackPs1::canUnpack() {
  617|  2.89k|    if (!readFileHeader())
  ------------------
  |  Branch (617:9): [True: 2.79k, False: 103]
  ------------------
  618|  2.79k|        return false;
  619|    103|    if (!readPackHeader(CD_SEC))
  ------------------
  |  |   44|    103|#define CD_SEC        2048
  ------------------
  |  Branch (619:9): [True: 5, False: 98]
  ------------------
  620|      5|        return false;
  621|       |    // check header as set by packer
  622|     98|    if (!readBkupHeader() || ph.c_len >= fdata_size)
  ------------------
  |  Branch (622:9): [True: 35, False: 63]
  |  Branch (622:30): [True: 1, False: 62]
  ------------------
  623|     30|        throwCantUnpack("header damaged");
  624|       |    // generic check
  625|     68|    if (!checkFileHeader())
  ------------------
  |  Branch (625:9): [True: 34, False: 34]
  ------------------
  626|     34|        throwCantUnpack("unsupported header flags");
  627|     34|    return true;
  628|     68|}
_ZN7PackPs16unpackEP10OutputFile:
  634|      1|void PackPs1::unpack(OutputFile *fo) {
  635|       |    // restore orig exec hdr
  636|      1|    memcpy(&oh, &ih, sizeof(ih));
  637|      1|    memcpy((void *) &oh.epc, &bh, SZ_IH_BKUP);
  ------------------
  |  |   51|      1|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  638|       |
  639|       |    // check for removed sector alignment
  640|      1|    assert(oh.tx_len >= ph.u_len);
  ------------------
  |  |  496|      1|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      2|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  641|      0|    const unsigned pad = oh.tx_len - ph.u_len;
  642|       |
  643|      1|    ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
  ------------------
  |  |   45|      1|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      1|#define CD_SEC        2048
  |  |  ------------------
  ------------------
                  ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
  ------------------
  |  |   45|      1|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      2|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  |  Branch (643:16): [True: 0, False: 1]
  ------------------
  644|      1|    obuf.allocForDecompression(ph.u_len, pad);
  645|       |
  646|      1|    fi->seek(PS_HDR_SIZE, SEEK_SET);
  ------------------
  |  |   45|      1|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      1|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  647|      1|    fi->readx(ibuf, fdata_size);
  648|       |
  649|       |    // decompress
  650|      1|    decompress(ibuf + (fdata_size - ph.c_len), obuf);
  651|       |
  652|       |    // write decompressed file
  653|      1|    if (fo) {
  ------------------
  |  Branch (653:9): [True: 0, False: 1]
  ------------------
  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|      1|}

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

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

_ZN7PackTmtC2EP9InputFile:
   44|  15.8k|PackTmt::PackTmt(InputFile *f) : super(f) {
   45|  15.8k|    bele = &N_BELE_RTP::le_policy;
   46|  15.8k|    COMPILE_TIME_ASSERT(sizeof(tmt_header_t) == 44)
  ------------------
  |  |  250|  15.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  15.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   47|  15.8k|}
_ZN7PackTmt14readFileHeaderEv:
   91|  15.8k|int PackTmt::readFileHeader() {
   92|  15.8k|#define H(x)  get_le16(h + 2 * (x))
   93|  15.8k|#define H4(x) get_le32(h + (x))
   94|  15.8k|    byte h[0x40];
   95|  15.8k|    int ic;
   96|  15.8k|    unsigned exe_offset = 0;
   97|  15.8k|    adam_offset = 0;
   98|       |
   99|  18.6k|    for (ic = 0; ic < 20; ic++) {
  ------------------
  |  Branch (99:18): [True: 18.5k, False: 127]
  ------------------
  100|  18.5k|        fi->seek(adam_offset, SEEK_SET);
  101|  18.5k|        fi->readx(h, sizeof(h));
  102|       |
  103|  18.5k|        if (memcmp(h, "MZ", 2) == 0) // dos/exe
  ------------------
  |  Branch (103:13): [True: 1.93k, False: 16.5k]
  ------------------
  104|  1.93k|        {
  105|  1.93k|            exe_offset = adam_offset;
  106|  1.93k|            adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|  1.93k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|  1.93k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
  107|  1.93k|            if (H(1))
  ------------------
  |  |   92|  1.93k|#define H(x)  get_le16(h + 2 * (x))
  |  |  ------------------
  |  |  |  Branch (92:15): [True: 662, False: 1.27k]
  |  |  ------------------
  ------------------
  108|    662|                adam_offset -= 512;
  109|  1.93k|            if (H(0x18 / 2) == 0x40 && H4(0x3c))
  ------------------
  |  |   92|  1.93k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          if (H(0x18 / 2) == 0x40 && H4(0x3c))
  ------------------
  |  |   93|    422|#define H4(x) get_le32(h + (x))
  |  |  ------------------
  |  |  |  Branch (93:15): [True: 358, False: 64]
  |  |  ------------------
  ------------------
  |  Branch (109:17): [True: 422, False: 1.51k]
  ------------------
  110|    358|                adam_offset = H4(0x3c);
  ------------------
  |  |   93|    358|#define H4(x) get_le32(h + (x))
  ------------------
  111|  16.5k|        } else if (memcmp(h, "BW", 2) == 0) {
  ------------------
  |  Branch (111:20): [True: 76, False: 16.5k]
  ------------------
  112|     76|            adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|     76|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|     76|#define H(x)  get_le16(h + 2 * (x))
  ------------------
  113|  16.5k|        } else if (memcmp(h, "PMW1", 4) == 0) {
  ------------------
  |  Branch (113:20): [True: 162, False: 16.3k]
  ------------------
  114|    162|            fi->seek(adam_offset + H4(0x18), SEEK_SET);
  ------------------
  |  |   93|    162|#define H4(x) get_le32(h + (x))
  ------------------
  115|    162|            adam_offset += H4(0x24);
  ------------------
  |  |   93|    162|#define H4(x) get_le32(h + (x))
  ------------------
  116|    162|            unsigned objs = H4(0x1c);
  ------------------
  |  |   93|    162|#define H4(x) get_le32(h + (x))
  ------------------
  117|  17.6k|            while (objs--) {
  ------------------
  |  Branch (117:20): [True: 17.4k, False: 162]
  ------------------
  118|  17.4k|                fi->readx(h, 0x18);
  119|  17.4k|                adam_offset += H4(4);
  ------------------
  |  |   93|  17.4k|#define H4(x) get_le32(h + (x))
  ------------------
  120|  17.4k|            }
  121|  16.3k|        } else if (memcmp(h, "LE", 2) == 0) {
  ------------------
  |  Branch (121:20): [True: 593, False: 15.7k]
  ------------------
  122|       |            // + (memory_pages-1)*memory_page_size+bytes_on_last_page
  123|    593|            unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    593|#define H4(x) get_le32(h + (x))
  ------------------
                          unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    593|#define H4(x) get_le32(h + (x))
  ------------------
                          unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    593|#define H4(x) get_le32(h + (x))
  ------------------
  124|    593|            fi->seek(adam_offset + 0x80, SEEK_SET);
  125|    593|            fi->readx(h, 4);
  126|       |            // + data_pages_offset
  127|    593|            adam_offset = offs + H4(0);
  ------------------
  |  |   93|    593|#define H4(x) get_le32(h + (x))
  ------------------
  128|  15.7k|        } else if (memcmp(h, "Adam", 4) == 0) {
  ------------------
  |  Branch (128:20): [True: 106, False: 15.6k]
  ------------------
  129|    106|            break;
  130|    106|        } else
  131|  15.6k|            return 0;
  132|  18.5k|    }
  133|    233|    if (ic == 20)
  ------------------
  |  Branch (133:9): [True: 88, False: 145]
  ------------------
  134|     88|        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: 41, False: 104]
  |  Branch (143:35): [True: 27, False: 77]
  |  Branch (143:63): [True: 21, False: 56]
  ------------------
  144|     83|        rsize >= file_size_u) {
  ------------------
  |  Branch (144:9): [True: 33, False: 23]
  ------------------
  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;
  ------------------
  |  |  561|     62|#define UPX_F_TMT_ADAM            8
  ------------------
  151|    145|#undef H4
  152|    145|#undef H
  153|    145|}
_ZN7PackTmt9canUnpackEv:
  270|  15.8k|tribool PackTmt::canUnpack() {
  271|  15.8k|    if (!readFileHeader())
  ------------------
  |  Branch (271:9): [True: 15.2k, False: 623]
  ------------------
  272|  15.2k|        return false;
  273|    623|    fi->seek(adam_offset, SEEK_SET);
  274|    623|    return readPackHeader(512) ? 1 : -1;
  ------------------
  |  Branch (274:12): [True: 5, False: 618]
  ------------------
  275|  15.8k|}
_ZN7PackTmt6unpackEP10OutputFile:
  277|      5|void PackTmt::unpack(OutputFile *fo) {
  278|      5|    Packer::handleStub(fi, fo, adam_offset);
  279|       |
  280|      5|    ibuf.alloc(ph.c_len);
  281|      5|    obuf.allocForDecompression(ph.u_len);
  282|       |
  283|      5|    fi->seek(adam_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  284|      5|    fi->readx(ibuf, ph.c_len);
  285|       |
  286|       |    // decompress
  287|      5|    decompress(ibuf, obuf);
  288|       |
  289|       |    // read extra_info from the tail of the decompressed image
  290|      5|    if (ph.u_len < 8)
  ------------------
  |  Branch (290:9): [True: 0, False: 5]
  ------------------
  291|      0|        throwCantUnpack("file damaged");
  292|      5|    const unsigned orig_entry = mem_size(1, get_le32(obuf + (ph.u_len - 8)));
  293|      5|    const unsigned orelocsize = mem_size(1, get_le32(obuf + (ph.u_len - 4)));
  294|      5|    const unsigned osize = mem_size(1, ph.u_len - orelocsize);
  295|       |
  296|       |    // unfilter
  297|      5|    if (ph.filter) {
  ------------------
  |  Branch (297:9): [True: 0, False: 5]
  ------------------
  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|      5|    SPAN_S_VAR(const byte, orelocs, raw_index_bytes(obuf, osize, orelocsize), orelocsize);
  ------------------
  |  |  214|      5|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      5|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      5|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  311|      5|    SPAN_S_VAR(byte, reloc_image, raw_index_bytes(obuf, 0, osize), osize);
  ------------------
  |  |  214|      5|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      5|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      5|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  312|      5|    MemBuffer mb_relocs;
  313|      5|    const unsigned relocnum = unoptimizeReloc(orelocs, mb_relocs, reloc_image, osize, 32, true);
  314|      5|    SPAN_S_VAR(byte, relocs, mb_relocs);
  ------------------
  |  |  214|      5|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      5|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      5|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|      5|    for (unsigned ic = 0; ic < relocnum; ic++)
  ------------------
  |  Branch (315:27): [True: 0, False: 5]
  ------------------
  316|      0|        set_le32(relocs + 4 * ic, get_le32(relocs + 4 * ic) + 4);
  317|       |
  318|      5|    memcpy(&oh, &ih, sizeof(oh));
  319|      5|    oh.imagesize = osize;
  320|      5|    oh.entry = orig_entry;
  321|      5|    oh.relocsize = relocnum * 4;
  322|       |
  323|      5|    const unsigned overlay = file_size - adam_offset - ih.imagesize - ih.relocsize - sizeof(ih);
  324|      5|    checkOverlay(overlay);
  325|       |
  326|       |    // write decompressed file
  327|      5|    if (fo) {
  ------------------
  |  Branch (327:9): [True: 0, False: 5]
  ------------------
  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|      5|    copyOverlay(fo, overlay, obuf);
  335|      5|}

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

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

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

_ZN8PackUnixC2EP9InputFile:
   50|   202k|    super(f), exetype(0), blocksize(0), overlay_offset(0), lsize(0),
   51|   202k|    methods_used(0), szb_info(sizeof(b_info))
   52|   202k|{
   53|   202k|    COMPILE_TIME_ASSERT(sizeof(Elf32_Ehdr) == 52)
  ------------------
  |  |  250|   202k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   202k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   54|   202k|    COMPILE_TIME_ASSERT(sizeof(Elf32_Phdr) == 32)
  ------------------
  |  |  250|   202k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   202k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   55|   202k|    COMPILE_TIME_ASSERT(sizeof(b_info) == 12)
  ------------------
  |  |  250|   202k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   202k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   56|   202k|    COMPILE_TIME_ASSERT(sizeof(l_info) == 12)
  ------------------
  |  |  250|   202k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   202k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   57|   202k|    COMPILE_TIME_ASSERT(sizeof(p_info) == 12)
  ------------------
  |  |  250|   202k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   202k|#    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|   202k|    saved_opt_android_shlib = opt->o_unix.android_shlib;
   64|   202k|    opt->o_unix.android_shlib = 0;  // Must apply selectively
   65|       |    // Besides, cannot figure out why asl_slide_Shdrs does not work.
   66|   202k|}
_ZN8PackUnixD2Ev:
   69|   202k|{
   70|   202k|    opt->o_unix.android_shlib = saved_opt_android_shlib;
   71|   202k|}
_ZN8PackUnix12unpackExtentEjP10OutputFileRjS2_bi:
  484|  1.90k|{
  485|  1.90k|    b_info hdr; memset(&hdr, 0, sizeof(hdr));
  486|  1.90k|    unsigned inlen = 0; // output index (if-and-only-if peeking)
  487|  27.6k|    while (wanted) {
  ------------------
  |  Branch (487:12): [True: 26.3k, False: 1.22k]
  ------------------
  488|  26.3k|        fi->readx(&hdr, szb_info);
  489|  26.3k|        int const sz_unc = ph.u_len = get_te32(&hdr.sz_unc);
  490|  26.3k|        int const sz_cpr = ph.c_len = get_te32(&hdr.sz_cpr);
  491|  26.3k|        ph.filter_cto = hdr.b_cto8;
  492|       |
  493|  26.3k|        if (sz_unc == 0 || M_LZMA < hdr.b_method) {
  ------------------
  |  |  629|  26.3k|#define M_LZMA        14
  ------------------
  |  Branch (493:13): [True: 9, False: 26.3k]
  |  Branch (493:28): [True: 202, False: 26.1k]
  ------------------
  494|    210|            throwCantUnpack("corrupt b_info");
  495|      0|            break;
  496|    210|        }
  497|  26.1k|        if (sz_unc <= 0 || sz_cpr <= 0)
  ------------------
  |  Branch (497:13): [True: 70, False: 26.0k]
  |  Branch (497:28): [True: 58, False: 26.0k]
  ------------------
  498|    127|            throwCantUnpack("corrupt b_info");
  499|  26.0k|        if (sz_cpr > sz_unc || sz_unc > (int)blocksize)
  ------------------
  |  Branch (499:13): [True: 82, False: 25.9k]
  |  Branch (499:32): [True: 85, False: 25.8k]
  ------------------
  500|    166|            throwCantUnpack("corrupt b_info");
  501|       |
  502|       |        // place the input for overlapping de-compression
  503|  25.8k|        int j = inlen + sz_unc + OVERHEAD + (sz_unc >> ELF_NRV_FUDGE) - sz_cpr;
  504|  25.8k|        if (ibuf.getSize() < (unsigned)(j + sz_cpr)) {
  ------------------
  |  Branch (504:13): [True: 0, False: 25.8k]
  ------------------
  505|      0|            throwCantUnpack("corrupt b_info");
  506|      0|        }
  507|  25.8k|        fi->readx(ibuf+j, sz_cpr);
  508|  25.8k|        total_in += sz_cpr;
  509|       |        // update checksum of compressed data
  510|  25.8k|        c_adler = upx_adler32(ibuf + j, sz_cpr, c_adler);
  511|       |
  512|  25.8k|        if (sz_cpr < sz_unc) { // block was compressed
  ------------------
  |  Branch (512:13): [True: 23.3k, False: 2.49k]
  ------------------
  513|  23.3k|            ph.set_method(hdr.b_method);
  514|  23.3k|            decompress(ibuf+j, ibuf+inlen, false);
  515|  23.3k|            if (12==szb_info) { // modern per-block filter
  ------------------
  |  Branch (515:17): [True: 22.9k, False: 463]
  ------------------
  516|  22.9k|                if (hdr.b_ftid) {
  ------------------
  |  Branch (516:21): [True: 22.1k, False: 753]
  ------------------
  517|  22.1k|                    Filter ft(ph.level);  // FIXME: ph.level for b_info?
  518|  22.1k|                    ft.init(hdr.b_ftid, 0);
  519|  22.1k|                    ft.cto = hdr.b_cto8;
  520|  22.1k|                    ft.unfilter(ibuf+inlen, sz_unc);
  521|  22.1k|                }
  522|  22.9k|            }
  523|    463|            else { // ancient per-file filter
  524|    463|                if (first_PF_X) { // Elf32_Ehdr is never filtered
  ------------------
  |  Branch (524:21): [True: 0, False: 463]
  ------------------
  525|      0|                    first_PF_X = false;  // but everything else might be
  526|      0|                }
  527|    463|                else if (ph.filter) {
  ------------------
  |  Branch (527:26): [True: 0, False: 463]
  ------------------
  528|      0|                    Filter ft(ph.level);
  529|      0|                    ft.init(ph.filter, 0);
  530|      0|                    ft.cto = (unsigned char) ph.filter_cto;
  531|      0|                    ft.unfilter(ibuf+inlen, sz_unc);
  532|      0|                }
  533|    463|            }
  534|  23.3k|        }
  535|  2.49k|        else if (sz_cpr == sz_unc) { // slide literal (non-compressible) block
  ------------------
  |  Branch (535:18): [True: 2.40k, False: 84]
  ------------------
  536|  2.40k|            memmove(&ibuf[inlen], &ibuf[j], sz_unc);
  537|  2.40k|        }
  538|       |        // update checksum of uncompressed data
  539|  25.8k|        u_adler = upx_adler32(ibuf + inlen, sz_unc, u_adler);
  540|       |        // write block
  541|  25.8k|        if (fo) {
  ------------------
  |  Branch (541:13): [True: 25.1k, False: 730]
  ------------------
  542|  25.1k|            if (is_rewrite) {
  ------------------
  |  Branch (542:17): [True: 203, False: 24.9k]
  ------------------
  543|    203|                fo->rewrite(ibuf, sz_unc);
  544|    203|            }
  545|  24.9k|            else {
  546|  24.9k|                fo->write(ibuf, sz_unc);
  547|  24.9k|                total_out += sz_unc;
  548|  24.9k|            }
  549|  25.1k|        }
  550|    730|        else if (is_rewrite < 0) { // append to &ibuf[inlen]
  ------------------
  |  Branch (550:18): [True: 174, False: 556]
  ------------------
  551|    174|            inlen += sz_unc;  // accounting; data is already there
  552|    174|            if (wanted <= (unsigned)sz_unc)  // done
  ------------------
  |  Branch (552:17): [True: 174, False: 0]
  ------------------
  553|    174|                break;
  554|    174|        }
  555|    556|        else if (wanted < (unsigned)sz_unc) // mismatched end-of-block
  ------------------
  |  Branch (555:18): [True: 0, False: 556]
  ------------------
  556|      0|            throwCantUnpack("corrupt b_info");
  557|    556|        else { // "upx -t": (!fo && !(is_rewrite < 0))
  558|       |            // No output.
  559|    556|        }
  560|  25.6k|        wanted -= sz_unc;
  561|  25.6k|    }
  562|  1.40k|    return inlen;
  563|  1.90k|}
_ZN8PackUnix9canUnpackEv:
  571|  31.4k|{
  572|  31.4k|    int const small = 32 + sizeof(overlay_offset);
  573|       |    // Allow zero-filled last page, for Mac OS X code signing.
  574|  31.4k|    int bufsize = 2*4096 + 2*small +1;
  575|  31.4k|    if (bufsize > fi->st_size())
  ------------------
  |  Branch (575:9): [True: 29.1k, False: 2.26k]
  ------------------
  576|  29.1k|        bufsize = fi->st_size();
  577|  31.4k|    MemBuffer buf(bufsize);
  578|       |
  579|       |    fi->seek(-(off_t)bufsize, SEEK_END);
  580|  31.4k|    fi->readx(buf, bufsize);
  581|  31.4k|    return find_overlay_offset(buf);
  582|  31.4k|}
_ZN8PackUnix19find_overlay_offsetERK9MemBuffer:
  585|  31.4k|{
  586|  31.4k|    int const small = 32 + sizeof(overlay_offset);
  587|  31.4k|    int const bufsize = buf.getSize();
  588|  31.4k|    int i = bufsize;
  589|   809k|    while (i > small && 0 == buf[--i]) { }
  ------------------
  |  Branch (589:12): [True: 809k, False: 71]
  |  Branch (589:25): [True: 777k, False: 31.3k]
  ------------------
  590|  31.4k|    i -= small;
  591|       |    // allow incompressible extents
  592|  31.4k|    if (i < 0 || !getPackHeader(buf + i, bufsize - i, true))
  ------------------
  |  Branch (592:9): [True: 0, False: 31.4k]
  |  Branch (592:18): [True: 25.9k, False: 5.50k]
  ------------------
  593|  25.6k|        return false;
  594|       |
  595|  5.75k|    int l = ph.buf_offset + ph.getPackHeaderSize();
  596|  5.75k|    if (l < 0 || i + l + 4 > bufsize)
  ------------------
  |  Branch (596:9): [True: 257, False: 5.50k]
  |  Branch (596:18): [True: 3, False: 5.49k]
  ------------------
  597|      3|        throwCantUnpack("file corrupted");
  598|  5.75k|    overlay_offset = get_te32(buf + i + l);
  599|  5.75k|    if ((off_t)overlay_offset >= file_size)
  ------------------
  |  Branch (599:9): [True: 28, False: 5.72k]
  ------------------
  600|     28|        throwCantUnpack("file corrupted");
  601|       |
  602|  5.72k|    return true;
  603|  5.75k|}
_ZN8PackUnix6unpackEP10OutputFile:
  613|  1.46k|{
  614|  1.46k|    b_info bhdr;
  615|  1.46k|    unsigned c_adler = upx_adler32(nullptr, 0);
  616|  1.46k|    unsigned u_adler = upx_adler32(nullptr, 0);
  617|       |
  618|  1.46k|    if (ph.version <= 11) {
  ------------------
  |  Branch (618:9): [True: 6, False: 1.45k]
  ------------------
  619|      6|        szb_info = sizeof(bhdr.sz_unc) + sizeof(bhdr.sz_cpr);  // old style
  620|      6|    }
  621|       |    // defaults for ph.version == 8
  622|  1.46k|    unsigned orig_file_size = 0;
  623|  1.46k|    blocksize = 512 * 1024;
  624|       |
  625|  1.46k|    fi->seek(overlay_offset, SEEK_SET);
  626|  1.46k|    if (ph.version > 8)
  ------------------
  |  Branch (626:9): [True: 1.46k, False: 0]
  ------------------
  627|  1.46k|    {
  628|  1.46k|        p_info hbuf;
  629|  1.46k|        fi->readx(&hbuf, sizeof(hbuf));
  630|  1.46k|        orig_file_size = get_te32(&hbuf.p_filesize);
  631|  1.46k|        blocksize = get_te32(&hbuf.p_blocksize);
  632|  1.46k|        off_t max_inflated = file_size * 273;  // zlib limit (256 + 16 + 1)
  ------------------
  |  |  219|  1.46k|#define off_t upx_off_t
  ------------------
  633|       |
  634|  1.46k|        if (max_inflated < orig_file_size
  ------------------
  |  Branch (634:13): [True: 13, False: 1.45k]
  ------------------
  635|  1.45k|        ||  max_inflated < blocksize
  ------------------
  |  Branch (635:13): [True: 15, False: 1.43k]
  ------------------
  636|  1.43k|        ||  file_size > (off_t)orig_file_size
  ------------------
  |  Branch (636:13): [True: 15, False: 1.42k]
  ------------------
  637|  1.42k|        ||  blocksize > orig_file_size) {
  ------------------
  |  Branch (637:13): [True: 11, False: 1.41k]
  ------------------
  638|     54|            throwCantUnpack("file header corrupted");
  639|     54|        }
  640|  1.46k|    }
  641|      0|    else
  642|      0|    {
  643|       |        // skip 4 bytes (program id)
  644|      0|        fi->seek(4, SEEK_CUR);
  645|      0|    }
  646|       |
  647|  1.41k|    if ((int)(blocksize + OVERHEAD) < 0)
  ------------------
  |  Branch (647:9): [True: 0, False: 1.41k]
  ------------------
  648|      0|        throwCantUnpack("blocksize corrupted");
  649|  1.41k|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
  650|       |
  651|       |    // decompress blocks
  652|  1.41k|    total_in = 0;
  653|  1.41k|    total_out = 0;
  654|  1.41k|    memset(&bhdr, 0, sizeof(bhdr));
  655|  1.41k|    for (;;)
  656|  8.08k|    {
  657|  8.08k|#define buf ibuf
  658|  8.08k|        int i;
  659|  8.08k|        unsigned sz_unc, sz_cpr;
  660|       |
  661|  8.08k|        fi->readx(&bhdr, szb_info);
  662|  8.08k|        ph.u_len = sz_unc = get_te32(&bhdr.sz_unc);
  663|  8.08k|        ph.c_len = sz_cpr = get_te32(&bhdr.sz_cpr);
  664|  8.08k|        if (szb_info < sizeof(b_info)) { // some upx version 11
  ------------------
  |  Branch (664:13): [True: 12, False: 8.07k]
  ------------------
  665|     12|            bhdr.b_method = ph.method;
  666|     12|            bhdr.b_ftid = ph.filter;
  667|     12|            bhdr.b_cto8 = ph.filter_cto;
  668|     12|        }
  669|       |
  670|  8.08k|        if (sz_unc == 0)                   // uncompressed size 0 -> EOF
  ------------------
  |  Branch (670:13): [True: 390, False: 7.69k]
  ------------------
  671|    390|        {
  672|       |            // note: must reload sz_cpr as magic is always stored le32
  673|    390|            sz_cpr = get_le32(&bhdr.sz_cpr);
  674|    390|            if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  537|    390|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (674:17): [True: 162, False: 228]
  ------------------
  675|    162|                throwCompressedDataViolation();
  676|    228|            break;
  677|    390|        }
  678|       |        // Minimum compressed length: LZMA has 5-byte info header.
  679|       |        // NRV_d8 has 1-byte initial 8 flag bits, plus end-of-block marker
  680|       |        // (32 bit look-back offset of all 1s: encoded as 24 pairs of bits
  681|       |        // {not last, 1} then low 8-bits of 0xff; total: 8 + 2*24 + 8 bits
  682|       |        // ==> 8 bytes)
  683|  7.69k|        if (sz_unc <= 0 || sz_cpr <= 5u
  ------------------
  |  Branch (683:13): [True: 11, False: 7.68k]
  |  Branch (683:28): [True: 8, False: 7.67k]
  ------------------
  684|  7.67k|        ||  sz_cpr > sz_unc || sz_unc > blocksize)
  ------------------
  |  Branch (684:13): [True: 152, False: 7.52k]
  |  Branch (684:32): [True: 267, False: 7.25k]
  ------------------
  685|    427|            throwCantUnpack("corrupt b_info %#x %#x", sz_unc, sz_cpr);
  686|       |
  687|       |        // Compressed output has control bytes such as the 32-bit
  688|       |        // first flag bits of NRV_d32, the 5-byte info of LZMA, etc.
  689|       |        // Fuzzers may try sz_cpr shorter than possible.
  690|       |        // Use some OVERHEAD for safety.
  691|  7.26k|        i = blocksize + OVERHEAD - upx::umax(12u, sz_cpr);
  692|  7.26k|        if (i < 0)
  ------------------
  |  Branch (692:13): [True: 0, False: 7.26k]
  ------------------
  693|      0|            throwCantUnpack("corrupt b_info %#x %#x", sz_cpr, blocksize);
  694|  7.26k|        fi->readx(buf+i, sz_cpr);
  ------------------
  |  |  657|  14.5k|#define buf ibuf
  ------------------
  695|       |        // update checksum of compressed data
  696|  7.26k|        c_adler = upx_adler32(buf + i, sz_cpr, c_adler);
  ------------------
  |  |  657|  14.5k|#define buf ibuf
  ------------------
  697|       |        // decompress
  698|  7.26k|        if (sz_cpr < sz_unc) {
  ------------------
  |  Branch (698:13): [True: 4.27k, False: 2.99k]
  ------------------
  699|  4.27k|            decompress(buf+i, buf, false);
  ------------------
  |  |  657|  8.54k|#define buf ibuf
  ------------------
                          decompress(buf+i, buf, false);
  ------------------
  |  |  657|  4.27k|#define buf ibuf
  ------------------
  700|  4.27k|            if (0!=bhdr.b_ftid) {
  ------------------
  |  Branch (700:17): [True: 3.69k, False: 578]
  ------------------
  701|  3.69k|                Filter ft(ph.level);
  702|  3.69k|                ft.init(bhdr.b_ftid);
  703|  3.69k|                ft.cto = bhdr.b_cto8;
  704|  3.69k|                ft.unfilter(buf, sz_unc);
  ------------------
  |  |  657|  3.69k|#define buf ibuf
  ------------------
  705|  3.69k|            }
  706|  4.27k|            i = 0;
  707|  4.27k|        }
  708|       |        // update checksum of uncompressed data
  709|  7.26k|        u_adler = upx_adler32(buf + i, sz_unc, u_adler);
  ------------------
  |  |  657|  14.5k|#define buf ibuf
  ------------------
  710|  7.26k|        total_in  += sz_cpr;
  711|  7.26k|        total_out += sz_unc;
  712|       |        // write block
  713|  7.26k|        if (fo)
  ------------------
  |  Branch (713:13): [True: 6.67k, False: 594]
  ------------------
  714|  6.67k|            fo->write(buf + i, sz_unc);
  ------------------
  |  |  657|  13.3k|#define buf ibuf
  ------------------
  715|  7.26k|#undef buf
  716|  7.26k|    }
  717|       |
  718|       |    // update header with totals
  719|    822|    ph.c_len = total_in;
  720|    822|    ph.u_len = total_out;
  721|       |
  722|       |    // all bytes must be written
  723|    822|    if (ph.version > 8 && total_out != orig_file_size)
  ------------------
  |  Branch (723:9): [True: 228, False: 594]
  |  Branch (723:27): [True: 18, False: 210]
  ------------------
  724|     18|        throwEOFException();
  725|       |
  726|       |    // finally test the checksums
  727|    804|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (727:9): [True: 787, False: 17]
  |  Branch (727:34): [True: 1, False: 16]
  ------------------
  728|    194|        throwChecksumError();
  729|    804|}

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

_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  29.4k|    super(f),
   65|  29.4k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  29.4k|    my_boot_label(boot_label),
   67|  29.4k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  29.4k|{
   69|  29.4k|    ElfClass::compileTimeAssertions();
   70|  29.4k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  29.4k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEED2Ev:
   75|  29.4k|{
   76|  29.4k|    delete [] phdri;
   77|  29.4k|    delete [] shdri;
   78|  29.4k|    delete [] shstrtab;
   79|  29.4k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE14getElfSectionsEv:
  120|    211|{
  121|    211|    unsigned const e_shnum = ehdri.e_shnum;
  122|    211|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 211]
  ------------------
  123|    211|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 0, False: 211]
  ------------------
  124|    211|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 211]
  ------------------
  125|      0|        infoWarning("bad ElfXX_Shdrs");
  126|      0|        return nullptr;
  127|      0|    }
  128|    211|    shdri = new Shdr[(unsigned) e_shnum];
  129|    211|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    211|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    211|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    211|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 2, False: 209]
  ------------------
  133|      2|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      2|        return nullptr;
  135|      2|    }
  136|    209|    Shdr const *p = &shdri[e_shstrndx];
  137|    209|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 186, False: 23]
  ------------------
  138|    186|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 176, False: 10]
  ------------------
  139|    176|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 164, False: 12]
  ------------------
  140|    164|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 157, False: 7]
  ------------------
  141|    157|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 154, False: 3]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    209|    ) {
  144|    154|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 5, False: 149]
  ------------------
  145|      5|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|      5|            return nullptr;
  147|      5|        }
  148|    149|        shstrtab = new char[1+ p->sh_size];
  149|    149|        fi->seek(p->sh_offset, SEEK_SET);
  150|    149|        fi->readx(shstrtab, p->sh_size);
  151|    149|        shstrtab[p->sh_size] = '\0';
  152|    149|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 90, False: 59]
  ------------------
  153|     90|            return p;
  154|     90|        }
  155|    149|    }
  156|    114|    return nullptr;
  157|    209|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
  571|  29.4k|{
  572|  29.4k|    fi->seek(0, SEEK_SET);
  573|  29.4k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  29.4k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 10.6k, False: 18.8k]
  ------------------
  577|  18.8k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 8.24k, False: 10.5k]
  ------------------
  578|  10.5k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 5.63k, False: 4.93k]
  ------------------
  579|  4.93k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 912, False: 4.02k]
  ------------------
  580|  4.02k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 8, False: 4.01k]
  ------------------
  581|  4.01k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 2.36k, False: 1.65k]
  ------------------
  582|  1.65k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 36, False: 1.61k]
  ------------------
  583|  1.61k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 117, False: 1.49k]
  ------------------
  584|  29.4k|    )
  585|  27.9k|        return false;
  586|       |
  587|  1.49k|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 1.25k, False: 247]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    247|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 3, False: 244]
  ------------------
  590|    244|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 2, False: 242]
  ------------------
  591|    242|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 31, False: 211]
  ------------------
  592|  1.49k|    )
  593|  1.28k|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    211|    Shdr const *const shstrsec = getElfSections();
  597|    211|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 121, False: 90]
  ------------------
  598|    121|        return false;
  599|    121|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|     90|    p_note0 = p_note1 = p_text = nullptr;
  603|     90|    int j;
  604|     90|    Shdr *p;
  605|  12.5k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 12.4k, False: 90]
  ------------------
  606|  12.4k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 8.24k, False: 4.22k]
  ------------------
  607|  4.22k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 250, False: 3.97k]
  ------------------
  608|  9.98k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 1.48k, False: 2.48k]
  ------------------
  609|  9.98k|            continue;
  610|  9.98k|        }
  611|  2.48k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 80, False: 2.40k]
  ------------------
  612|     80|            p_text = p;
  613|     80|        }
  614|  2.48k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 93, False: 2.39k]
  ------------------
  615|     93|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 14, False: 79]
  ------------------
  616|     14|                p_note0 = p;
  617|     14|            } else
  618|     79|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 12, False: 67]
  ------------------
  619|     12|                p_note1 = p;
  620|     12|            }
  621|     93|        }
  622|  2.48k|    }
  623|     90|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 76, False: 14]
  |  Branch (623:28): [True: 9, False: 5]
  |  Branch (623:48): [True: 1, False: 4]
  ------------------
  624|     86|        return false;
  625|     86|    }
  626|       |
  627|      4|    char buf[1024];
  628|      4|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  629|      4|    fi->readx(buf, sizeof(buf));
  630|      4|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (630:9): [True: 2, False: 2]
  ------------------
  631|      2|        return -1; // format is known, but definitely is not packed
  632|       |
  633|      2|    return true;
  634|      4|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  29.4k|    super(f),
   65|  29.4k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  29.4k|    my_boot_label(boot_label),
   67|  29.4k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  29.4k|{
   69|  29.4k|    ElfClass::compileTimeAssertions();
   70|  29.4k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  29.4k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEED2Ev:
   75|  29.4k|{
   76|  29.4k|    delete [] phdri;
   77|  29.4k|    delete [] shdri;
   78|  29.4k|    delete [] shstrtab;
   79|  29.4k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE14getElfSectionsEv:
  120|    304|{
  121|    304|    unsigned const e_shnum = ehdri.e_shnum;
  122|    304|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 304]
  ------------------
  123|    304|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 0, False: 304]
  ------------------
  124|    304|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 304]
  ------------------
  125|      0|        infoWarning("bad ElfXX_Shdrs");
  126|      0|        return nullptr;
  127|      0|    }
  128|    304|    shdri = new Shdr[(unsigned) e_shnum];
  129|    304|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    304|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    304|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    304|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 12, False: 292]
  ------------------
  133|     12|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|     12|        return nullptr;
  135|     12|    }
  136|    292|    Shdr const *p = &shdri[e_shstrndx];
  137|    292|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 239, False: 53]
  ------------------
  138|    239|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 215, False: 24]
  ------------------
  139|    215|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 202, False: 13]
  ------------------
  140|    202|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 182, False: 20]
  ------------------
  141|    182|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 181, False: 1]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    292|    ) {
  144|    181|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 3, False: 178]
  ------------------
  145|      3|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|      3|            return nullptr;
  147|      3|        }
  148|    178|        shstrtab = new char[1+ p->sh_size];
  149|    178|        fi->seek(p->sh_offset, SEEK_SET);
  150|    178|        fi->readx(shstrtab, p->sh_size);
  151|    178|        shstrtab[p->sh_size] = '\0';
  152|    178|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 97, False: 81]
  ------------------
  153|     97|            return p;
  154|     97|        }
  155|    178|    }
  156|    192|    return nullptr;
  157|    292|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
  571|  29.4k|{
  572|  29.4k|    fi->seek(0, SEEK_SET);
  573|  29.4k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  29.4k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 10.6k, False: 18.8k]
  ------------------
  577|  18.8k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 8.23k, False: 10.5k]
  ------------------
  578|  10.5k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 5.55k, False: 5.00k]
  ------------------
  579|  5.00k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 816, False: 4.19k]
  ------------------
  580|  4.19k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 12, False: 4.17k]
  ------------------
  581|  4.17k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 2.26k, False: 1.91k]
  ------------------
  582|  1.91k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 136, False: 1.77k]
  ------------------
  583|  1.77k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 947, False: 828]
  ------------------
  584|  29.4k|    )
  585|  28.6k|        return false;
  586|       |
  587|    828|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 486, False: 342]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    342|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 13, False: 329]
  ------------------
  590|    329|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 2, False: 327]
  ------------------
  591|    327|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 23, False: 304]
  ------------------
  592|    828|    )
  593|    524|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    304|    Shdr const *const shstrsec = getElfSections();
  597|    304|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 207, False: 97]
  ------------------
  598|    207|        return false;
  599|    207|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|     97|    p_note0 = p_note1 = p_text = nullptr;
  603|     97|    int j;
  604|     97|    Shdr *p;
  605|  46.8k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 46.7k, False: 97]
  ------------------
  606|  46.7k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 29.6k, False: 17.0k]
  ------------------
  607|  17.0k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 788, False: 16.3k]
  ------------------
  608|  35.7k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 5.28k, False: 11.0k]
  ------------------
  609|  35.7k|            continue;
  610|  35.7k|        }
  611|  11.0k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 340, False: 10.6k]
  ------------------
  612|    340|            p_text = p;
  613|    340|        }
  614|  11.0k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 661, False: 10.3k]
  ------------------
  615|    661|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 17, False: 644]
  ------------------
  616|     17|                p_note0 = p;
  617|     17|            } else
  618|    644|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 14, False: 630]
  ------------------
  619|     14|                p_note1 = p;
  620|     14|            }
  621|    661|        }
  622|  11.0k|    }
  623|     97|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 82, False: 15]
  |  Branch (623:28): [True: 9, False: 6]
  |  Branch (623:48): [True: 2, False: 4]
  ------------------
  624|     93|        return false;
  625|     93|    }
  626|       |
  627|      4|    char buf[1024];
  628|      4|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  629|      4|    fi->readx(buf, sizeof(buf));
  630|      4|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (630:9): [True: 2, False: 2]
  ------------------
  631|      2|        return -1; // format is known, but definitely is not packed
  632|       |
  633|      2|    return true;
  634|      4|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  29.4k|    super(f),
   65|  29.4k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  29.4k|    my_boot_label(boot_label),
   67|  29.4k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  29.4k|{
   69|  29.4k|    ElfClass::compileTimeAssertions();
   70|  29.4k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  29.4k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEED2Ev:
   75|  29.4k|{
   76|  29.4k|    delete [] phdri;
   77|  29.4k|    delete [] shdri;
   78|  29.4k|    delete [] shstrtab;
   79|  29.4k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE14getElfSectionsEv:
  120|    424|{
  121|    424|    unsigned const e_shnum = ehdri.e_shnum;
  122|    424|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 424]
  ------------------
  123|    424|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 19, False: 405]
  ------------------
  124|    405|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 405]
  ------------------
  125|     19|        infoWarning("bad ElfXX_Shdrs");
  126|     19|        return nullptr;
  127|     19|    }
  128|    405|    shdri = new Shdr[(unsigned) e_shnum];
  129|    405|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    405|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    405|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    405|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 2, False: 403]
  ------------------
  133|      2|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      2|        return nullptr;
  135|      2|    }
  136|    403|    Shdr const *p = &shdri[e_shstrndx];
  137|    403|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 360, False: 43]
  ------------------
  138|    360|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 271, False: 89]
  ------------------
  139|    271|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 216, False: 55]
  ------------------
  140|    216|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 215, False: 1]
  ------------------
  141|    215|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 214, False: 1]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    403|    ) {
  144|    214|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 2, False: 212]
  ------------------
  145|      2|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|      2|            return nullptr;
  147|      2|        }
  148|    212|        shstrtab = new char[1+ p->sh_size];
  149|    212|        fi->seek(p->sh_offset, SEEK_SET);
  150|    212|        fi->readx(shstrtab, p->sh_size);
  151|    212|        shstrtab[p->sh_size] = '\0';
  152|    212|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 144, False: 68]
  ------------------
  153|    144|            return p;
  154|    144|        }
  155|    212|    }
  156|    257|    return nullptr;
  157|    403|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
  571|  29.4k|{
  572|  29.4k|    fi->seek(0, SEEK_SET);
  573|  29.4k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  29.4k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 10.6k, False: 18.7k]
  ------------------
  577|  18.7k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 10.6k, False: 8.15k]
  ------------------
  578|  8.15k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 2.13k, False: 6.01k]
  ------------------
  579|  6.01k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 270, False: 5.74k]
  ------------------
  580|  5.74k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 6, False: 5.73k]
  ------------------
  581|  5.73k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 3.17k, False: 2.56k]
  ------------------
  582|  2.56k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 395, False: 2.17k]
  ------------------
  583|  2.17k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 181, False: 1.98k]
  ------------------
  584|  29.4k|    )
  585|  27.5k|        return false;
  586|       |
  587|  1.98k|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 1.48k, False: 502]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    502|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 6, False: 496]
  ------------------
  590|    496|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 2, False: 494]
  ------------------
  591|    494|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 70, False: 424]
  ------------------
  592|  1.98k|    )
  593|  1.56k|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    424|    Shdr const *const shstrsec = getElfSections();
  597|    424|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 280, False: 144]
  ------------------
  598|    280|        return false;
  599|    280|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|    144|    p_note0 = p_note1 = p_text = nullptr;
  603|    144|    int j;
  604|    144|    Shdr *p;
  605|  14.5k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 14.3k, False: 144]
  ------------------
  606|  14.3k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 11.6k, False: 2.74k]
  ------------------
  607|  2.74k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 267, False: 2.48k]
  ------------------
  608|  12.8k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 938, False: 1.54k]
  ------------------
  609|  12.8k|            continue;
  610|  12.8k|        }
  611|  1.54k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 74, False: 1.46k]
  ------------------
  612|     74|            p_text = p;
  613|     74|        }
  614|  1.54k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 90, False: 1.45k]
  ------------------
  615|     90|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 13, False: 77]
  ------------------
  616|     13|                p_note0 = p;
  617|     13|            } else
  618|     77|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 11, False: 66]
  ------------------
  619|     11|                p_note1 = p;
  620|     11|            }
  621|     90|        }
  622|  1.54k|    }
  623|    144|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 133, False: 11]
  |  Branch (623:28): [True: 8, False: 3]
  |  Branch (623:48): [True: 1, False: 2]
  ------------------
  624|    142|        return false;
  625|    142|    }
  626|       |
  627|      2|    char buf[1024];
  628|      2|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  629|      2|    fi->readx(buf, sizeof(buf));
  630|      2|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (630:9): [True: 1, False: 1]
  ------------------
  631|      1|        return -1; // format is known, but definitely is not packed
  632|       |
  633|      1|    return true;
  634|      2|}

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

_ZN15PackVmlinuzI386C2EP9InputFile:
   59|  29.4k|    super(f), physical_start(0x100000), page_offset(0), config_physical_align(0)
   60|  29.4k|    , filter_len(0)
   61|  29.4k|{
   62|  29.4k|    bele = &N_BELE_RTP::le_policy;
   63|  29.4k|    COMPILE_TIME_ASSERT(sizeof(boot_sect_t) == 0x250)
  ------------------
  |  |  250|  29.4k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.4k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   64|  29.4k|}
_ZN15PackVmlinuzI38614readFileHeaderEv:
  110|  29.4k|{
  111|  29.4k|    setup_size = 0;
  112|       |
  113|  29.4k|    fi->readx(&h, sizeof(h));
  114|  29.4k|    if (h.boot_flag != 0xAA55)
  ------------------
  |  Branch (114:9): [True: 12.5k, False: 16.9k]
  ------------------
  115|  12.5k|        return 0;
  116|  16.9k|    const bool hdrs = (memcmp(h.hdrs, "HdrS", 4) == 0);
  117|       |
  118|  16.9k|    setup_size = (1 + (h.setup_sects ? h.setup_sects : 4)) * 0x200;
  ------------------
  |  Branch (118:24): [True: 139, False: 16.8k]
  ------------------
  119|  16.9k|    if (setup_size <= 0 || setup_size >= file_size)
  ------------------
  |  Branch (119:9): [True: 16.7k, False: 152]
  |  Branch (119:28): [True: 26, False: 126]
  ------------------
  120|     26|        return 0;
  121|       |
  122|  16.9k|    int format = UPX_F_VMLINUZ_i386;
  ------------------
  |  |  568|  16.9k|#define UPX_F_VMLINUZ_i386        15
  ------------------
  123|  16.9k|    unsigned sys_size = ALIGN_UP((unsigned) file_size_u, 16u) - setup_size;
  ------------------
  |  |  514|  16.9k|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
  124|       |
  125|  16.9k|    const unsigned char *p = (const unsigned char *) &h + 0x1e3;
  126|       |
  127|  16.9k|    if (hdrs && memcmp(p, "\x0d\x0a\x07""ELKS", 7) == 0)
  ------------------
  |  Branch (127:9): [True: 47, False: 16.8k]
  |  Branch (127:17): [True: 4, False: 43]
  ------------------
  128|      4|    {
  129|      4|        format = UPX_F_ELKS_8086;
  ------------------
  |  |  570|      4|#define UPX_F_ELKS_8086           17 // NOT IMPLEMENTED
  ------------------
  130|      4|    }
  131|  16.9k|    else if (hdrs && (h.load_flags & 1) != 0)
  ------------------
  |  Branch (131:14): [True: 43, False: 16.8k]
  |  Branch (131:22): [True: 28, False: 15]
  ------------------
  132|     28|    {
  133|     28|        format = UPX_F_BVMLINUZ_i386;
  ------------------
  |  |  569|     28|#define UPX_F_BVMLINUZ_i386       16
  ------------------
  134|     28|    }
  135|       |
  136|  16.9k|    if (0x204<=h.version) {
  ------------------
  |  Branch (136:9): [True: 48, False: 16.8k]
  ------------------
  137|     48|        if ((16u * h.sys_size) != sys_size)
  ------------------
  |  Branch (137:13): [True: 36, False: 12]
  ------------------
  138|     36|            return 0;
  139|     48|    }
  140|  16.8k|    else { // h.sys_size is only 2 bytes
  141|  16.8k|        if ((16u * (0xffff & h.sys_size)) != (~(~0u<<20) & sys_size))
  ------------------
  |  Branch (141:13): [True: 70, False: 16.8k]
  ------------------
  142|     70|            return 0;
  143|  16.8k|    }
  144|       |
  145|       |    // FIXME: add more checks for a valid kernel
  146|       |
  147|  16.8k|    return format;
  148|  16.9k|}
_ZN15PackVmlinuzI3869canUnpackEv:
  691|  29.4k|{
  692|  29.4k|    if (readFileHeader() != getFormat())
  ------------------
  |  Branch (692:9): [True: 12.6k, False: 16.8k]
  ------------------
  693|  12.6k|        return false;
  694|  16.8k|    fi->seek(setup_size, SEEK_SET);
  695|  16.8k|    return readPackHeader(1024) ? 1 : -1;
  ------------------
  |  Branch (695:12): [True: 0, False: 16.8k]
  ------------------
  696|  29.4k|}
_ZN16PackVmlinuzARMELC2EP9InputFile:
  731|  14.7k|    super(f), setup_size(0), filter_len(0)
  732|  14.7k|{
  733|  14.7k|    bele = &N_BELE_RTP::le_policy;
  734|  14.7k|}
_ZN16PackVmlinuzARMEL14readFileHeaderEv:
  760|  14.7k|{
  761|  14.7k|    unsigned int hdr[8];
  762|       |
  763|  14.7k|    fi->readx(hdr, sizeof(hdr));
  764|  15.4k|    for (int j=0; j < 8; ++j) {
  ------------------
  |  Branch (764:19): [True: 15.4k, False: 2]
  ------------------
  765|  15.4k|        if (0xe1a00000!=get_te32(&hdr[j])) {
  ------------------
  |  Branch (765:13): [True: 14.7k, False: 698]
  ------------------
  766|  14.7k|            return 0;
  767|  14.7k|        }
  768|  15.4k|    }
  769|      2|    return UPX_F_VMLINUZ_ARM;
  ------------------
  |  |  584|      2|#define UPX_F_VMLINUZ_ARM         31
  ------------------
  770|  14.7k|}
_ZN16PackVmlinuzARMEL9canUnpackEv:
 1049|  14.7k|{
 1050|  14.7k|    if (readFileHeader() != getFormat())
  ------------------
  |  Branch (1050:9): [True: 14.7k, False: 2]
  ------------------
 1051|  14.7k|        return false;
 1052|      2|    fi->seek(setup_size, SEEK_SET);
 1053|      2|    return readPackHeader(1024) ? 1 : -1;
  ------------------
  |  Branch (1053:12): [True: 0, False: 2]
  ------------------
 1054|  14.7k|}

_ZNK15PackVmlinuzI38610getVersionEv:
   39|  29.4k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuzI3869getFormatEv:
   40|  35.8k|    virtual int getFormat() const override { return UPX_F_VMLINUZ_i386; }
  ------------------
  |  |  568|  35.8k|#define UPX_F_VMLINUZ_i386        15
  ------------------
_ZNK16PackBvmlinuzI3869getFormatEv:
  109|  35.8k|    virtual int getFormat() const override { return UPX_F_BVMLINUZ_i386; }
  ------------------
  |  |  569|  35.8k|#define UPX_F_BVMLINUZ_i386       16
  ------------------
_ZNK16PackVmlinuzARMEL10getVersionEv:
  130|  14.7k|    virtual int getVersion() const override { return 13; }
_ZNK16PackVmlinuzARMEL9getFormatEv:
  131|  44.1k|    virtual int getFormat() const  override{ return UPX_F_VMLINUZ_ARM; }
  ------------------
  |  |  584|  44.1k|#define UPX_F_VMLINUZ_ARM         31
  ------------------
_ZN16PackBvmlinuzI386C2EP9InputFile:
  108|  14.7k|    PackBvmlinuzI386(InputFile *f) : super(f) { }

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

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

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

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

_ZN14PackW64PeArm64C2EP9InputFile:
   48|  15.3k|PackW64PeArm64::PackW64PeArm64(InputFile *f) : super(f) { use_stub_relocs = false; }
_ZN14PackW64PeArm647canPackEv:
   73|  15.3k|tribool PackW64PeArm64::canPack() {
   74|  15.3k|    if (!readFileHeader())
  ------------------
  |  Branch (74:9): [True: 14.8k, False: 492]
  ------------------
   75|  14.8k|        return false;
   76|    492|    checkMachine(ih.cpu);
   77|    492|    if (ih.cpu != IMAGE_FILE_MACHINE_ARM64)
  ------------------
  |  Branch (77:9): [True: 303, False: 189]
  ------------------
   78|    303|        return false;
   79|    189|    return true;
   80|    492|}

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

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

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

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

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

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

_ZN10PackerBaseD2Ev:
   49|   479k|    virtual ~PackerBase() noexcept {}
_ZNK6Packer16canUnpackVersionEi:
  124|  6.70k|    virtual bool canUnpackVersion(int version) const { return (version >= 8); }
_ZNK6Packer15canUnpackFormatEi:
  125|  18.3k|    virtual bool canUnpackFormat(int format) const { return (format == getFormat()); }
_ZNK6Packer8get_te16EPKv:
  263|   691k|    inline unsigned get_te16(const void *p) const noexcept { return bele->get16(p); }
_ZNK6Packer8get_te32EPKv:
  264|  1.19M|    inline unsigned get_te32(const void *p) const noexcept { return bele->get32(p); }
_ZNK6Packer8get_te64EPKv:
  271|   191k|    inline upx_uint64_t get_te64(const void *p) const noexcept { return bele->get64(p); }

_ZN6Packer13isValidFormatEi:
   36|   495k|/*static*/ bool Packer::isValidFormat(int format) noexcept {
   37|   495k|    if (!((format >= 1 && format <= UPX_F_CPM86_CMD) ||
  ------------------
  |  |  599|   495k|#define UPX_F_CPM86_CMD           46 // CP/M-86 .cmd
  ------------------
  |  Branch (37:12): [True: 495k, False: 23]
  |  Branch (37:27): [True: 414k, False: 81.0k]
  ------------------
   38|  81.0k|          (format >= 129 && format <= UPX_F_DYLIB_PPC64))) {
  ------------------
  |  |  614|  81.0k|#define UPX_F_DYLIB_PPC64       142
  ------------------
  |  Branch (38:12): [True: 81.0k, False: 37]
  |  Branch (38:29): [True: 81.0k, False: 13]
  ------------------
   39|     50|        return false;
   40|     50|    }
   41|   495k|    switch (format) {
  ------------------
  |  Branch (41:13): [True: 21, False: 495k]
  ------------------
   42|      3|    case 6:   // UPX_F_VXD_LE               6 // NOT IMPLEMENTED
  ------------------
  |  Branch (42:5): [True: 3, False: 495k]
  ------------------
   43|      4|    case 11:  // UPX_F_WIN16_NE            11 // NOT IMPLEMENTED
  ------------------
  |  Branch (43:5): [True: 1, False: 495k]
  ------------------
   44|     10|    case 13:  // UPX_F_LINUX_SEP_i386      13 // NOT IMPLEMENTED
  ------------------
  |  Branch (44:5): [True: 6, False: 495k]
  ------------------
   45|     14|    case 17:  // UPX_F_ELKS_8086           17 // NOT IMPLEMENTED
  ------------------
  |  Branch (45:5): [True: 4, False: 495k]
  ------------------
   46|     16|    case 38:  // UPX_F_MACH_PPC64LE        38 // DOES NOT EXIST
  ------------------
  |  Branch (46:5): [True: 2, False: 495k]
  ------------------
   47|     20|    case 41:  // UPX_F_DYLIB_PPC64LE       41 // DOES NOT EXIST
  ------------------
  |  Branch (47:5): [True: 4, False: 495k]
  ------------------
   48|     21|    case 130: // UPX_F_SOLARIS_SPARC      130 // NOT IMPLEMENTED
  ------------------
  |  Branch (48:5): [True: 1, False: 495k]
  ------------------
   49|     21|        return false;
   50|   495k|    }
   51|   495k|    return true;
   52|   495k|}
_ZN6Packer24isValidCompressionMethodEi:
   54|   114k|/*static*/ bool Packer::isValidCompressionMethod(int m) noexcept {
   55|   114k|    return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  644|   228k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  629|   114k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (644:25): [True: 108k, False: 5.90k]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  640|   119k|#define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  617|  11.8k|#define M_NRV2B_LE32  2
  |  |  ------------------
  |  |               #define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  619|  5.89k|#define M_NRV2B_LE16  4
  |  |  ------------------
  |  |  |  Branch (640:26): [True: 5.89k, False: 1]
  |  |  |  Branch (640:49): [True: 4.10k, False: 1.79k]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  641|   115k|#define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  620|  3.58k|#define M_NRV2D_LE32  5
  |  |  ------------------
  |  |               #define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  622|  1.79k|#define M_NRV2D_LE16  7
  |  |  ------------------
  |  |  |  Branch (641:26): [True: 1.79k, False: 1]
  |  |  |  Branch (641:49): [True: 991, False: 801]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  642|    802|#define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  623|  1.60k|#define M_NRV2E_LE32  8
  |  |  ------------------
  |  |               #define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  625|    801|#define M_NRV2E_LE16  10
  |  |  ------------------
  |  |  |  Branch (642:26): [True: 801, False: 1]
  |  |  |  Branch (642:49): [True: 794, False: 7]
  |  |  ------------------
  ------------------
   56|   114k|}

_ZN6Packer15unoptimizeRelocERN5XSpan4SpanIKhEER9MemBufferNS0_9PtrOrSpanIhEEjib:
  110|      3|                                 unsigned image_size, int bits, bool bswap) {
  111|      3|    assert(bits == 32 || bits == 64);
  ------------------
  |  |  496|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 2, False: 1]
  |  |  |  |  |  Branch (1558:47): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496: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|  32.4k|    for (fix = in; *fix; fix++, relocnum++) {
  ------------------
  |  Branch (120:20): [True: 32.4k, False: 3]
  ------------------
  121|  32.4k|        if (*fix >= 0xf0) {
  ------------------
  |  Branch (121:13): [True: 689, False: 31.7k]
  ------------------
  122|    689|            if (*fix == 0xf0 && get_le16(fix + 1) == 0)
  ------------------
  |  Branch (122:17): [True: 682, False: 7]
  |  Branch (122:17): [True: 0, False: 689]
  |  Branch (122:33): [True: 0, False: 682]
  ------------------
  123|      0|                fix += 4;
  124|    689|            fix += 2;
  125|    689|        }
  126|  32.4k|    }
  127|      3|    NO_fprintf(stderr, "relocnum=%x\n", relocnum);
  128|      3|    if (0) {
  ------------------
  |  Branch (128:9): [Folded, False: 3]
  ------------------
  129|      0|        const unsigned bytes = ptr_udiff_bytes(fix + 1, in);
  130|      0|        printf("unoptimizeReloc: c_reloc %9u checksum=0x%08x\n", bytes, upx_adler32(in, bytes));
  131|      0|        printf("unoptimizeReloc: c_image %9u checksum=0x%08x\n", image_size,
  132|      0|               upx_adler32(image, image_size));
  133|      0|    }
  134|       |
  135|      3|    mb_out.alloc(mem_size(4, 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|  32.4k|    for (unsigned i = 0; i < relocnum; i++) {
  ------------------
  |  Branch (140:26): [True: 32.4k, False: 3]
  ------------------
  141|  32.4k|        unsigned delta;
  142|  32.4k|        if (*fix < 0xf0)
  ------------------
  |  Branch (142:13): [True: 31.7k, False: 689]
  ------------------
  143|  31.7k|            delta = *fix++;
  144|    689|        else {
  145|    689|            delta = (*fix & 0x0f) * 0x10000 + get_le16(fix + 1);
  146|    689|            fix += 3;
  147|    689|            if (delta == 0) {
  ------------------
  |  Branch (147:17): [True: 0, False: 689]
  ------------------
  148|      0|                delta = get_le32(fix);
  149|      0|                fix += 4;
  150|      0|            }
  151|    689|        }
  152|  32.4k|        if ((int) delta < 4)
  ------------------
  |  Branch (152:13): [True: 0, False: 32.4k]
  ------------------
  153|      0|            throwCantUnpack("overlapping fixups");
  154|  32.4k|        pc += delta;
  155|  32.4k|        if (pc + 4 > image_size)
  ------------------
  |  Branch (155:13): [True: 0, False: 32.4k]
  ------------------
  156|      0|            throwCantUnpack("bad reloc[%#x] = %#x", i, pc);
  157|  32.4k|        *relocs++ = pc;
  158|  32.4k|        if (bswap) {
  ------------------
  |  Branch (158:13): [True: 32.4k, False: 0]
  ------------------
  159|  32.4k|            if (bits == 32)
  ------------------
  |  Branch (159:17): [True: 27.3k, False: 5.07k]
  ------------------
  160|  27.3k|                set_be32(image + pc, get_le32(image + pc));
  161|  5.07k|            else
  162|  5.07k|                set_be64(image + pc, get_le64(image + pc));
  163|  32.4k|        }
  164|  32.4k|    }
  165|      3|    in = fix + 1; // advance
  166|      3|    assert(relocnum == ptr_udiff_bytes(relocs, raw_bytes(mb_out, 0)) / 4);
  ------------------
  |  |  496|      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 (496: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|   479k|PackHeader::PackHeader() noexcept { reset(); }
_ZN10PackHeader5resetEv:
   42|  1.43M|void PackHeader::reset() noexcept {
   43|  1.43M|    mem_clear(this);
   44|  1.43M|    version = -1;
   45|  1.43M|    format = -1;
   46|  1.43M|    compress_result.reset();
   47|  1.43M|}
_ZN10PackHeader10set_methodEij:
   49|  27.6k|int PackHeader::set_method(const int m, const unsigned offset) { // check, then assign
   50|  27.6k|    const unsigned mc = ~(0x80u << 24) & m;                      // see ph_forced_method
   51|  27.6k|    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|  27.6k|    if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  617|  55.3k|#define M_NRV2B_LE32  2
  ------------------
                  if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  629|  27.5k|#define M_LZMA        14
  ------------------
                  if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  629|  27.4k|#define M_LZMA        14
  ------------------
  |  Branch (54:10): [True: 109, False: 27.5k]
  |  Branch (54:31): [True: 97, False: 27.4k]
  |  Branch (54:47): [True: 1.02k, False: 26.4k]
  |  Branch (54:63): [True: 0, False: 1.02k]
  |  Branch (54:77): [True: 16, False: 190]
  ------------------
   55|     16|        throwCantPack("bad method %#x at %#x", (unsigned) m, offset);
   56|  27.6k|    method = m;
   57|  27.6k|    return method;
   58|  27.6k|}
_ZNK10PackHeader17getPackHeaderSizeEv:
   82|  25.6k|int PackHeader::getPackHeaderSize() const {
   83|  25.6k|    if (format < 0 || version < 0)
  ------------------
  |  Branch (83:9): [True: 2, False: 25.6k]
  |  Branch (83:23): [True: 0, False: 25.6k]
  ------------------
   84|      2|        throwInternalError("getPackHeaderSize");
   85|       |
   86|  25.6k|    int n = 0;
   87|  25.6k|    if (version <= 3) // Note: covers (version <= 0)
  ------------------
  |  Branch (87:9): [True: 0, False: 25.6k]
  ------------------
   88|      0|        n = 24;
   89|  25.6k|    else if (version <= 9) {
  ------------------
  |  Branch (89:14): [True: 131, False: 25.5k]
  ------------------
   90|    131|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  554|    262|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  555|     81|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (90:13): [True: 50, False: 81]
  |  Branch (90:40): [True: 2, False: 79]
  ------------------
   91|     52|            n = 20;
   92|     79|        else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  556|    158|#define UPX_F_DOS_EXE             3
  ------------------
                      else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  560|     79|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (92:18): [True: 0, False: 79]
  |  Branch (92:45): [True: 0, False: 79]
  ------------------
   93|      0|            n = 25;
   94|     79|        else
   95|     79|            n = 28;
   96|  25.5k|    } else {
   97|  25.5k|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  554|  51.0k|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  555|  25.4k|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (97:13): [True: 41, False: 25.4k]
  |  Branch (97:40): [True: 24, False: 25.4k]
  ------------------
   98|     65|            n = 22;
   99|  25.4k|        else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  556|  50.9k|#define UPX_F_DOS_EXE             3
  ------------------
                      else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  560|  25.4k|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (99:18): [True: 48, False: 25.4k]
  |  Branch (99:45): [True: 94, False: 25.3k]
  ------------------
  100|    142|            n = 27;
  101|  25.3k|        else
  102|  25.3k|            n = 32;
  103|  25.5k|    }
  104|  25.6k|    if (n < 20)
  ------------------
  |  Branch (104:9): [True: 0, False: 25.6k]
  ------------------
  105|      0|        throwCantUnpack("unknown header version");
  106|  25.6k|    return n;
  107|  25.6k|}
_ZN10PackHeader23decodePackHeaderFromBufEN5XSpan4SpanIKhEEi:
  191|  39.3k|bool PackHeader::decodePackHeaderFromBuf(SPAN_S(const byte) buf, int blen) {
  192|  39.3k|    int boff = find_le32(raw_bytes(buf, blen), blen, UPX_MAGIC_LE32);
  ------------------
  |  |  537|  39.3k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  193|  39.3k|    if (boff < 0)
  ------------------
  |  Branch (193:9): [True: 20.4k, False: 18.8k]
  ------------------
  194|  20.4k|        return false;
  195|  18.8k|    blen -= boff; // bytes remaining in buf
  196|  18.8k|    if (blen < 20)
  ------------------
  |  Branch (196:9): [True: 84, False: 18.8k]
  ------------------
  197|     84|        throwCantUnpack("header corrupted 1");
  198|       |
  199|  18.8k|    SPAN_S_VAR(const byte, const p, buf + boff);
  ------------------
  |  |  214|  18.8k|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|  18.8k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|  18.8k|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|  18.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  18.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  18.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  18.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  18.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  200|       |
  201|  18.8k|    version = p[4];
  202|  18.8k|    format = p[5];
  203|  18.8k|    method = p[6];
  204|  18.8k|    level = p[7];
  205|  18.8k|    filter_cto = 0;
  206|       |
  207|  18.8k|    if (opt->debug.debug_level) {
  ------------------
  |  Branch (207:9): [True: 0, False: 18.8k]
  ------------------
  208|      0|        fprintf(stderr, "  decodePackHeaderFromBuf  version=%d  format=%d  method=%d  level=%d\n",
  209|      0|                version, format, method, level);
  210|      0|    }
  211|  18.8k|    if (!Packer::isValidFormat(format))
  ------------------
  |  Branch (211:9): [True: 71, False: 18.7k]
  ------------------
  212|     71|        throwCantUnpack("unknown format %d", format);
  213|       |
  214|       |    //
  215|       |    // decode the new variable length header
  216|       |    //
  217|       |
  218|  18.7k|    int off_filter = 0;
  219|  18.7k|    if (format < 128) {
  ------------------
  |  Branch (219:9): [True: 17.0k, False: 1.69k]
  ------------------
  220|  17.0k|        u_adler = get_le32(p + 8);
  221|  17.0k|        c_adler = get_le32(p + 12);
  222|  17.0k|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS) {
  ------------------
  |  |  554|  34.0k|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS) {
  ------------------
  |  |  555|  16.8k|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (222:13): [True: 152, False: 16.8k]
  |  Branch (222:40): [True: 27, False: 16.8k]
  ------------------
  223|    179|            u_len = get_le16(p + 16);
  224|    179|            c_len = get_le16(p + 18);
  225|    179|            u_file_size = u_len;
  226|    179|            off_filter = 20;
  227|  16.8k|        } else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH) {
  ------------------
  |  |  556|  33.7k|#define UPX_F_DOS_EXE             3
  ------------------
                      } else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH) {
  ------------------
  |  |  560|  16.8k|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (227:20): [True: 38, False: 16.8k]
  |  Branch (227:47): [True: 65, False: 16.7k]
  ------------------
  228|    103|            if (blen < 25)
  ------------------
  |  Branch (228:17): [True: 3, False: 100]
  ------------------
  229|      3|                throwCantUnpack("header corrupted 6");
  230|    100|            u_len = get_le24(p + 16);
  231|    100|            c_len = get_le24(p + 19);
  232|    100|            u_file_size = get_le24(p + 22);
  233|    100|            off_filter = 25;
  234|  16.7k|        } else {
  235|  16.7k|            if (blen < 31)
  ------------------
  |  Branch (235:17): [True: 12, False: 16.7k]
  ------------------
  236|     12|                throwCantUnpack("header corrupted 7");
  237|  16.7k|            u_len = get_le32(p + 16);
  238|  16.7k|            c_len = get_le32(p + 20);
  239|  16.7k|            u_file_size = get_le32(p + 24);
  240|  16.7k|            off_filter = 28;
  241|  16.7k|            filter_cto = p[29];
  242|  16.7k|            n_mru = p[30] ? 1 + p[30] : 0;
  ------------------
  |  Branch (242:21): [True: 2.20k, False: 14.5k]
  ------------------
  243|  16.7k|        }
  244|  17.0k|    } else {
  245|  1.69k|        if (blen < 31)
  ------------------
  |  Branch (245:13): [True: 7, False: 1.69k]
  ------------------
  246|      7|            throwCantUnpack("header corrupted 8");
  247|  1.69k|        u_len = get_be32(p + 8);
  248|  1.69k|        c_len = get_be32(p + 12);
  249|  1.69k|        u_adler = get_be32(p + 16);
  250|  1.69k|        c_adler = get_be32(p + 20);
  251|  1.69k|        u_file_size = get_be32(p + 24);
  252|  1.69k|        off_filter = 28;
  253|  1.69k|        filter_cto = p[29];
  254|  1.69k|        n_mru = p[30] ? 1 + p[30] : 0;
  ------------------
  |  Branch (254:17): [True: 67, False: 1.62k]
  ------------------
  255|  1.69k|    }
  256|       |
  257|  18.7k|    if (version >= 10) {
  ------------------
  |  Branch (257:9): [True: 18.0k, False: 674]
  ------------------
  258|  18.0k|        if (blen < off_filter + 1)
  ------------------
  |  Branch (258:13): [True: 1, False: 18.0k]
  ------------------
  259|      1|            throwCantUnpack("header corrupted 9");
  260|  18.0k|        filter = p[off_filter];
  261|  18.0k|    } else if ((level & 128) == 0) {
  ------------------
  |  Branch (261:16): [True: 279, False: 395]
  ------------------
  262|    279|        filter = 0;
  263|    395|    } else {
  264|       |        // convert old flags to new filter id
  265|    395|        level &= 127;
  266|    395|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  554|    790|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  555|    337|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (266:13): [True: 58, False: 337]
  |  Branch (266:40): [True: 4, False: 333]
  ------------------
  267|     62|            filter = 0x06;
  268|    333|        else
  269|    333|            filter = 0x26;
  270|    395|    }
  271|  18.7k|    level &= 15;
  272|       |
  273|       |    //
  274|       |    // now some checks
  275|       |    //
  276|       |
  277|  18.7k|    if (version == 0xff)
  ------------------
  |  Branch (277:9): [True: 2, False: 18.7k]
  ------------------
  278|      2|        throwCantUnpack("cannot unpack UPX ;-)");
  279|       |    // check header_checksum
  280|  18.7k|    if (version >= 10) {
  ------------------
  |  Branch (280:9): [True: 18.0k, False: 674]
  ------------------
  281|  18.0k|        int size = getPackHeaderSize(); // expected; based on format and version
  282|  18.0k|        if (size > blen || p[size - 1] != get_packheader_checksum(p, size - 1))
  ------------------
  |  Branch (282:13): [True: 7, False: 18.0k]
  |  Branch (282:13): [True: 150, False: 17.8k]
  |  Branch (282:28): [True: 143, False: 17.8k]
  ------------------
  283|    150|            throwCantUnpack("header corrupted 3");
  284|  18.0k|    }
  285|  18.5k|    if (c_len < 2 || u_len < 2 || !mem_size_valid_bytes(c_len) || !mem_size_valid_bytes(u_len))
  ------------------
  |  Branch (285:9): [True: 2, False: 18.5k]
  |  Branch (285:22): [True: 9, False: 18.5k]
  |  Branch (285:35): [True: 42, False: 18.5k]
  |  Branch (285:67): [True: 26, False: 18.4k]
  ------------------
  286|     79|        throwCantUnpack("header corrupted 4");
  287|       |
  288|       |    //
  289|       |    // success
  290|       |    //
  291|       |
  292|  18.4k|    this->buf_offset = boff;
  293|  18.4k|    return true;
  294|  18.5k|}
_Z19ph_is_forced_methodi:
  300|  31.2k|bool ph_is_forced_method(int method) noexcept { // predicate
  301|  31.2k|    return (method >> 24) == -0x80;
  302|  31.2k|}
_Z16ph_forced_methodi:
  308|  31.2k|int ph_forced_method(int method) noexcept { // extract the forced method
  309|  31.2k|    if (ph_is_forced_method(method))
  ------------------
  |  Branch (309:9): [True: 0, False: 31.2k]
  ------------------
  310|      0|        method &= ~(0x80u << 24);
  311|  31.2k|    assert_noexcept(method > 0);
  ------------------
  |  |  499|  31.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  62.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  312|      0|    return method;
  313|  31.2k|}
_Z13ph_decompressR10PackHeaderN5XSpan9PtrOrSpanIKhEENS2_IhEEbP6Filter:
  330|  31.4k|                   Filter *ft) {
  331|       |    // verify checksum of compressed data
  332|  31.4k|    if (verify_checksum) {
  ------------------
  |  Branch (332:9): [True: 248, False: 31.1k]
  ------------------
  333|    248|        unsigned adler = upx_adler32(raw_bytes(in, ph.c_len), ph.c_len, ph.saved_c_adler);
  334|    248|        if (adler != ph.c_adler)
  ------------------
  |  Branch (334:13): [True: 140, False: 108]
  ------------------
  335|    140|            throwChecksumError();
  336|    248|    }
  337|       |
  338|       |    // decompress
  339|  31.2k|    if (ph.u_len < ph.c_len)
  ------------------
  |  Branch (339:9): [True: 1, False: 31.2k]
  ------------------
  340|      1|        throwCantUnpack("header corrupted");
  341|  31.2k|    unsigned new_len = ph.u_len;
  342|  31.2k|    int r = upx_decompress(raw_bytes(in, ph.c_len), ph.c_len, raw_bytes(out, ph.u_len), &new_len,
  343|  31.2k|                           ph_forced_method(ph.method), &ph.compress_result);
  344|  31.2k|    if (r == UPX_E_OUT_OF_MEMORY)
  ------------------
  |  |  543|  31.2k|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
  |  Branch (344:9): [True: 0, False: 31.2k]
  ------------------
  345|      0|        throwOutOfMemoryException();
  346|  31.2k|    if (r != UPX_E_OK || new_len != ph.u_len)
  ------------------
  |  |  541|  62.5k|#define UPX_E_OK                  (0)
  ------------------
  |  Branch (346:9): [True: 2.79k, False: 28.5k]
  |  Branch (346:26): [True: 5, False: 28.5k]
  ------------------
  347|  2.77k|        throwCompressedDataViolation();
  348|       |
  349|       |    // verify checksum of decompressed data
  350|  28.5k|    if (verify_checksum) {
  ------------------
  |  Branch (350:9): [True: 92, False: 28.4k]
  ------------------
  351|     92|        if (ft)
  ------------------
  |  Branch (351:13): [True: 0, False: 92]
  ------------------
  352|      0|            ft->unfilter(out, ph.u_len);
  353|     92|        unsigned adler = upx_adler32(raw_bytes(out, ph.u_len), ph.u_len, ph.saved_u_adler);
  354|     92|        if (adler != ph.u_adler)
  ------------------
  |  Branch (354:13): [True: 0, False: 92]
  ------------------
  355|      0|            throwChecksumError();
  356|     92|    }
  357|  28.5k|}
packhead.cpp:_ZL23get_packheader_checksumN5XSpan4SpanIKhEEi:
   64|  18.0k|static upx_uint8_t get_packheader_checksum(SPAN_S(const byte) buf, int blen) {
   65|  18.0k|    assert(blen >= 4);
  ------------------
  |  |  496|  18.0k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  36.0k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 18.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   66|  18.0k|    assert(get_le32(buf) == UPX_MAGIC_LE32);
  ------------------
  |  |  496|  18.0k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  36.0k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 18.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   67|      0|    buf += 4;
   68|  18.0k|    blen -= 4;
   69|  18.0k|    unsigned c = 0;
   70|   503k|    while (blen-- > 0)
  ------------------
  |  Branch (70:12): [True: 485k, False: 18.0k]
  ------------------
   71|   485k|        c += *buf++;
   72|  18.0k|    c %= 251;
   73|  18.0k|    return (upx_uint8_t) c;
   74|  18.0k|}

_ZN10PackMasterC2EP9InputFileP7Options:
   65|  15.9k|PackMaster::PackMaster(InputFile *f, Options *o) noexcept : fi(f) {
   66|       |    // replace global options with local options
   67|  15.9k|    if (o != nullptr) {
  ------------------
  |  Branch (67:9): [True: 15.9k, 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|  15.9k|        saved_opt = o;
   73|  15.9k|        memcpy(&this->local_options, o, sizeof(*o)); // struct copy
   74|  15.9k|        opt = &this->local_options;
   75|  15.9k|    }
   76|  15.9k|}
_ZN10PackMasterD2Ev:
   78|  15.9k|PackMaster::~PackMaster() noexcept {
   79|  15.9k|    upx::owner_delete(packer);
   80|  15.9k|    assert_noexcept(packer == nullptr);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   81|       |    // restore global options
   82|  15.9k|    if (saved_opt != nullptr) {
  ------------------
  |  Branch (82:9): [True: 15.9k, 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|  15.9k|        opt = saved_opt;
   88|  15.9k|        saved_opt = nullptr;
   89|  15.9k|    }
   90|  15.9k|}
_ZN10PackMaster15visitAllPackersEPFN3upx7TriBoolIiLb0EEEP10PackerBasePvEP9InputFilePK7OptionsS5_:
  144|  15.9k|                                        void *user) may_throw {
  145|  15.9k|    assert_noexcept(o != nullptr);
  ------------------
  |  |  499|  15.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499: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|        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|  15.9k|    if (!o->dos_exe.force_stub) {
  ------------------
  |  Branch (168:9): [True: 15.9k, False: 0]
  ------------------
  169|       |        // dos32
  170|  15.9k|        VISIT(PackDjgpp2);
  ------------------
  |  |  148|  15.9k|    do {                                                                                           \
  |  |  149|  15.9k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.9k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.9k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.9k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.9k]
  |  |  ------------------
  |  |  153|  15.9k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.9k|        pb->assertPacker();                                                                        \
  |  |  156|  15.9k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.9k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 15, False: 15.9k]
  |  |  ------------------
  |  |  158|  15.9k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.9k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 2, False: 15.9k]
  |  |  ------------------
  |  |  160|  15.9k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.9k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.9k]
  |  |  ------------------
  ------------------
  171|  15.9k|        VISIT(PackTmt);
  ------------------
  |  |  148|  15.9k|    do {                                                                                           \
  |  |  149|  15.9k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.9k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.9k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.9k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.9k]
  |  |  ------------------
  |  |  153|  15.9k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.9k|        pb->assertPacker();                                                                        \
  |  |  156|  15.9k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.9k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 5, False: 15.8k]
  |  |  ------------------
  |  |  158|  15.9k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.9k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 14, False: 15.8k]
  |  |  ------------------
  |  |  160|  15.8k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.8k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.8k]
  |  |  ------------------
  ------------------
  172|  15.8k|        VISIT(PackWcle);
  ------------------
  |  |  148|  15.8k|    do {                                                                                           \
  |  |  149|  15.8k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.8k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.8k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.8k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.8k]
  |  |  ------------------
  |  |  153|  15.8k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.8k|        pb->assertPacker();                                                                        \
  |  |  156|  15.8k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.8k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 276, False: 15.6k]
  |  |  ------------------
  |  |  158|  15.8k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.8k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 14, False: 15.5k]
  |  |  ------------------
  |  |  160|  15.6k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.6k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.5k]
  |  |  ------------------
  ------------------
  173|       |        // Windows
  174|       |        // VISIT(PackW64PeArm64EC); // NOT YET IMPLEMENTED
  175|  15.5k|        VISIT(PackW64PeArm64);
  ------------------
  |  |  148|  15.5k|    do {                                                                                           \
  |  |  149|  15.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.5k]
  |  |  ------------------
  |  |  153|  15.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.5k|        pb->assertPacker();                                                                        \
  |  |  156|  15.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.5k]
  |  |  ------------------
  |  |  158|  15.5k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 15.5k]
  |  |  ------------------
  |  |  160|  15.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.5k]
  |  |  ------------------
  ------------------
  176|  15.5k|        VISIT(PackW64PeAmd64);
  ------------------
  |  |  148|  15.5k|    do {                                                                                           \
  |  |  149|  15.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.5k]
  |  |  ------------------
  |  |  153|  15.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.5k|        pb->assertPacker();                                                                        \
  |  |  156|  15.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 18, False: 15.5k]
  |  |  ------------------
  |  |  158|  15.5k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 5, False: 15.5k]
  |  |  ------------------
  |  |  160|  15.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.5k]
  |  |  ------------------
  ------------------
  177|  15.5k|        VISIT(PackW32PeI386);
  ------------------
  |  |  148|  15.5k|    do {                                                                                           \
  |  |  149|  15.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.5k]
  |  |  ------------------
  |  |  153|  15.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.5k|        pb->assertPacker();                                                                        \
  |  |  156|  15.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 119, False: 15.4k]
  |  |  ------------------
  |  |  158|  15.5k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 8, False: 15.4k]
  |  |  ------------------
  |  |  160|  15.4k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.4k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.4k]
  |  |  ------------------
  ------------------
  178|  15.4k|        VISIT(PackWinCeArm);
  ------------------
  |  |  148|  15.4k|    do {                                                                                           \
  |  |  149|  15.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.4k]
  |  |  ------------------
  |  |  153|  15.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.4k|        pb->assertPacker();                                                                        \
  |  |  156|  15.4k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 8, False: 15.4k]
  |  |  ------------------
  |  |  158|  15.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 4, False: 15.4k]
  |  |  ------------------
  |  |  160|  15.4k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.4k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.4k]
  |  |  ------------------
  ------------------
  179|  15.4k|    }
  180|  15.4k|    VISIT(PackExe); // dos/exe
  ------------------
  |  |  148|  15.4k|    do {                                                                                           \
  |  |  149|  15.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.4k]
  |  |  ------------------
  |  |  153|  15.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.4k|        pb->assertPacker();                                                                        \
  |  |  156|  15.4k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 42, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  181|       |
  182|       |    //
  183|       |    // linux kernel
  184|       |    //
  185|  15.3k|    VISIT(PackVmlinuxARMEL);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  186|  15.3k|    VISIT(PackVmlinuxARMEB);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  187|  15.3k|    VISIT(PackVmlinuxPPC32);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  188|  15.3k|    VISIT(PackVmlinuxPPC64LE);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  189|  15.3k|    VISIT(PackVmlinuxAMD64);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  190|  15.3k|    VISIT(PackVmlinuxI386);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  191|  15.3k|#if (WITH_ZLIB)
  192|  15.3k|    VISIT(PackVmlinuzI386);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 5, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  193|  15.3k|    VISIT(PackBvmlinuzI386);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 5, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  194|  15.3k|    VISIT(PackVmlinuzARMEL);
  ------------------
  |  |  148|  15.3k|    do {                                                                                           \
  |  |  149|  15.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  15.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  15.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  15.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  153|  15.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  15.3k|        pb->assertPacker();                                                                        \
  |  |  156|  15.3k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  15.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  158|  15.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  15.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 15.3k]
  |  |  ------------------
  |  |  160|  15.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  15.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 15.3k]
  |  |  ------------------
  ------------------
  195|  15.3k|#endif
  196|       |
  197|       |    //
  198|       |    // linux
  199|       |    //
  200|  15.3k|    if (!o->o_unix.force_execve) {
  ------------------
  |  Branch (200:9): [True: 14.7k, False: 646]
  ------------------
  201|  14.7k|        if (o->o_unix.use_ptinterp) {
  ------------------
  |  Branch (201:13): [True: 0, False: 14.7k]
  ------------------
  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|        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|  14.7k|        VISIT(PackFreeBSDElf32x86);
  ------------------
  |  |  148|  14.7k|    do {                                                                                           \
  |  |  149|  14.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  153|  14.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.7k|        pb->assertPacker();                                                                        \
  |  |  156|  14.7k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  14.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1, False: 14.7k]
  |  |  ------------------
  |  |  158|  14.7k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  160|  14.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.7k]
  |  |  ------------------
  ------------------
  205|  14.7k|        VISIT(PackNetBSDElf32x86);
  ------------------
  |  |  148|  14.7k|    do {                                                                                           \
  |  |  149|  14.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  153|  14.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.7k|        pb->assertPacker();                                                                        \
  |  |  156|  14.7k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  14.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  158|  14.7k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  160|  14.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.7k]
  |  |  ------------------
  ------------------
  206|  14.7k|        VISIT(PackOpenBSDElf32x86);
  ------------------
  |  |  148|  14.7k|    do {                                                                                           \
  |  |  149|  14.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  153|  14.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.7k|        pb->assertPacker();                                                                        \
  |  |  156|  14.7k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  14.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  158|  14.7k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  160|  14.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.7k]
  |  |  ------------------
  ------------------
  207|  14.7k|        VISIT(PackLinuxElf32x86);
  ------------------
  |  |  148|  14.7k|    do {                                                                                           \
  |  |  149|  14.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.7k]
  |  |  ------------------
  |  |  153|  14.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.7k|        pb->assertPacker();                                                                        \
  |  |  156|  14.7k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  14.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1.23k, False: 13.4k]
  |  |  ------------------
  |  |  158|  14.7k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.7k|        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]
  |  |  ------------------
  ------------------
  208|  13.4k|        VISIT(PackLinuxElf64amd);
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  13.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1.36k, False: 12.1k]
  |  |  ------------------
  |  |  158|  13.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  13.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 12.1k]
  |  |  ------------------
  |  |  160|  12.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  12.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 12.1k]
  |  |  ------------------
  ------------------
  209|  12.1k|        VISIT(PackLinuxElf32armLe);
  ------------------
  |  |  148|  12.1k|    do {                                                                                           \
  |  |  149|  12.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  12.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  12.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  12.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 12.1k]
  |  |  ------------------
  |  |  153|  12.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  12.1k|        pb->assertPacker();                                                                        \
  |  |  156|  12.1k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  12.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 7, False: 12.1k]
  |  |  ------------------
  |  |  158|  12.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  12.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 12.1k]
  |  |  ------------------
  |  |  160|  12.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  12.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 12.1k]
  |  |  ------------------
  ------------------
  210|  12.1k|        VISIT(PackLinuxElf32armBe);
  ------------------
  |  |  148|  12.1k|    do {                                                                                           \
  |  |  149|  12.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  12.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  12.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  12.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 12.1k]
  |  |  ------------------
  |  |  153|  12.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  12.1k|        pb->assertPacker();                                                                        \
  |  |  156|  12.1k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  12.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 500, False: 11.6k]
  |  |  ------------------
  |  |  158|  12.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  12.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 11.6k]
  |  |  ------------------
  |  |  160|  11.6k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  11.6k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 11.6k]
  |  |  ------------------
  ------------------
  211|  11.6k|        VISIT(PackLinuxElf64arm);
  ------------------
  |  |  148|  11.6k|    do {                                                                                           \
  |  |  149|  11.6k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  11.6k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  11.6k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  11.6k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 11.6k]
  |  |  ------------------
  |  |  153|  11.6k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  11.6k|        pb->assertPacker();                                                                        \
  |  |  156|  11.6k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  11.6k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 42, False: 11.5k]
  |  |  ------------------
  |  |  158|  11.6k|            return pb.release(); /* success */                                                     \
  |  |  159|  11.6k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  160|  11.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  11.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 11.5k]
  |  |  ------------------
  ------------------
  212|  11.5k|        VISIT(PackLinuxElf64riscv64);
  ------------------
  |  |  148|  11.5k|    do {                                                                                           \
  |  |  149|  11.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  11.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  11.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  11.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  153|  11.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  11.5k|        pb->assertPacker();                                                                        \
  |  |  156|  11.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  11.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  158|  11.5k|            return pb.release(); /* success */                                                     \
  |  |  159|  11.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  160|  11.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  11.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 11.5k]
  |  |  ------------------
  ------------------
  213|  11.5k|        VISIT(PackLinuxElf32ppc);
  ------------------
  |  |  148|  11.5k|    do {                                                                                           \
  |  |  149|  11.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  11.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  11.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  11.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 11.5k]
  |  |  ------------------
  |  |  153|  11.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  11.5k|        pb->assertPacker();                                                                        \
  |  |  156|  11.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  11.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 799, False: 10.7k]
  |  |  ------------------
  |  |  158|  11.5k|            return pb.release(); /* success */                                                     \
  |  |  159|  11.5k|        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]
  |  |  ------------------
  ------------------
  214|  10.7k|        VISIT(PackLinuxElf64ppc);
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 12, 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]
  |  |  ------------------
  ------------------
  215|  10.7k|        VISIT(PackLinuxElf64ppcle);
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 10, 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]
  |  |  ------------------
  ------------------
  216|  10.7k|        VISIT(PackLinuxElf32mipsel);
  ------------------
  |  |  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|        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]
  |  |  ------------------
  ------------------
  217|  10.7k|        VISIT(PackLinuxElf32mipseb);
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 18, 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]
  |  |  ------------------
  ------------------
  218|  10.7k|        VISIT(PackLinuxI386sh);
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 48, False: 10.6k]
  |  |  ------------------
  |  |  158|  10.7k|            return pb.release(); /* success */                                                     \
  |  |  159|  10.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 10.6k]
  |  |  ------------------
  |  |  160|  10.6k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  10.6k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 10.6k]
  |  |  ------------------
  ------------------
  219|  10.7k|    }
  220|  11.3k|    VISIT(PackBSDI386);
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  11.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1, 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]
  |  |  ------------------
  ------------------
  221|  11.3k|    VISIT(PackMachFat);   // cafebabe conflict
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  11.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 17, 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]
  |  |  ------------------
  ------------------
  222|  11.3k|    VISIT(PackLinuxI386); // cafebabe conflict
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  11.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1.41k, False: 9.88k]
  |  |  ------------------
  |  |  158|  11.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  11.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.88k]
  |  |  ------------------
  |  |  160|  9.88k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.88k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.88k]
  |  |  ------------------
  ------------------
  223|       |
  224|       |    //
  225|       |    // Mach (Darwin / macOS)
  226|       |    //
  227|  9.88k|    VISIT(PackDylibAMD64);
  ------------------
  |  |  148|  9.88k|    do {                                                                                           \
  |  |  149|  9.88k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.88k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.88k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.88k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.88k]
  |  |  ------------------
  |  |  153|  9.88k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.88k|        pb->assertPacker();                                                                        \
  |  |  156|  9.88k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  9.88k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 2, False: 9.88k]
  |  |  ------------------
  |  |  158|  9.88k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.88k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.88k]
  |  |  ------------------
  |  |  160|  9.88k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.88k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.88k]
  |  |  ------------------
  ------------------
  228|  9.88k|    VISIT(PackMachPPC32); // TODO: this works with upx 3.91..3.94 but got broken in 3.95; FIXME
  ------------------
  |  |  148|  9.88k|    do {                                                                                           \
  |  |  149|  9.88k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.88k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.88k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.88k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.88k]
  |  |  ------------------
  |  |  153|  9.88k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.88k|        pb->assertPacker();                                                                        \
  |  |  156|  9.88k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  9.88k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 136, False: 9.74k]
  |  |  ------------------
  |  |  158|  9.88k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.88k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.74k]
  |  |  ------------------
  |  |  160|  9.74k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.74k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.74k]
  |  |  ------------------
  ------------------
  229|  9.74k|    VISIT(PackMachI386);
  ------------------
  |  |  148|  9.74k|    do {                                                                                           \
  |  |  149|  9.74k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.74k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.74k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.74k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.74k]
  |  |  ------------------
  |  |  153|  9.74k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.74k|        pb->assertPacker();                                                                        \
  |  |  156|  9.74k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  9.74k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1, False: 9.74k]
  |  |  ------------------
  |  |  158|  9.74k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.74k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.74k]
  |  |  ------------------
  |  |  160|  9.74k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.74k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.74k]
  |  |  ------------------
  ------------------
  230|  9.74k|    VISIT(PackMachAMD64);
  ------------------
  |  |  148|  9.74k|    do {                                                                                           \
  |  |  149|  9.74k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.74k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.74k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.74k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.74k]
  |  |  ------------------
  |  |  153|  9.74k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.74k|        pb->assertPacker();                                                                        \
  |  |  156|  9.74k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  9.74k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 8, False: 9.73k]
  |  |  ------------------
  |  |  158|  9.74k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.74k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.73k]
  |  |  ------------------
  |  |  160|  9.73k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.73k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.73k]
  |  |  ------------------
  ------------------
  231|  9.73k|    VISIT(PackMachARMEL);
  ------------------
  |  |  148|  9.73k|    do {                                                                                           \
  |  |  149|  9.73k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.73k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.73k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.73k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.73k]
  |  |  ------------------
  |  |  153|  9.73k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.73k|        pb->assertPacker();                                                                        \
  |  |  156|  9.73k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  9.73k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 87, False: 9.65k]
  |  |  ------------------
  |  |  158|  9.73k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.73k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.65k]
  |  |  ------------------
  |  |  160|  9.65k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.65k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.65k]
  |  |  ------------------
  ------------------
  232|  9.65k|    VISIT(PackMachARM64EL);
  ------------------
  |  |  148|  9.65k|    do {                                                                                           \
  |  |  149|  9.65k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.65k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.65k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.65k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.65k]
  |  |  ------------------
  |  |  153|  9.65k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.65k|        pb->assertPacker();                                                                        \
  |  |  156|  9.65k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  9.65k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 852, False: 8.80k]
  |  |  ------------------
  |  |  158|  9.65k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.65k|        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]
  |  |  ------------------
  ------------------
  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.80k|    VISIT(PackTos);   // atari/tos
  ------------------
  |  |  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|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  8.80k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 26, False: 8.77k]
  |  |  ------------------
  |  |  158|  8.80k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.80k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.77k]
  |  |  ------------------
  |  |  160|  8.77k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.77k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.77k]
  |  |  ------------------
  ------------------
  244|  8.77k|    VISIT(PackPs1);   // ps1/exe
  ------------------
  |  |  148|  8.77k|    do {                                                                                           \
  |  |  149|  8.77k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.77k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.77k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.77k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.77k]
  |  |  ------------------
  |  |  153|  8.77k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.77k|        pb->assertPacker();                                                                        \
  |  |  156|  8.77k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  8.77k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1, False: 8.77k]
  |  |  ------------------
  |  |  158|  8.77k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.77k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.77k]
  |  |  ------------------
  |  |  160|  8.77k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.77k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.77k]
  |  |  ------------------
  ------------------
  245|  8.77k|    VISIT(PackSys);   // dos/sys
  ------------------
  |  |  148|  8.77k|    do {                                                                                           \
  |  |  149|  8.77k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.77k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.77k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.77k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.77k]
  |  |  ------------------
  |  |  153|  8.77k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.77k|        pb->assertPacker();                                                                        \
  |  |  156|  8.77k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  8.77k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 3, False: 8.77k]
  |  |  ------------------
  |  |  158|  8.77k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.77k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.77k]
  |  |  ------------------
  |  |  160|  8.77k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.77k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.77k]
  |  |  ------------------
  ------------------
  246|  8.77k|    VISIT(PackCom);   // dos/com
  ------------------
  |  |  148|  8.77k|    do {                                                                                           \
  |  |  149|  8.77k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.77k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.77k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.77k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.77k]
  |  |  ------------------
  |  |  153|  8.77k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.77k|        pb->assertPacker();                                                                        \
  |  |  156|  8.77k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  8.77k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 53, False: 8.71k]
  |  |  ------------------
  |  |  158|  8.77k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.77k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.71k]
  |  |  ------------------
  |  |  160|  8.71k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.71k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.71k]
  |  |  ------------------
  ------------------
  247|  8.71k|    VISIT(PackCpm86); // cpm86/cmd
  ------------------
  |  |  148|  8.71k|    do {                                                                                           \
  |  |  149|  8.71k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.71k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.71k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.71k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.71k]
  |  |  ------------------
  |  |  153|  8.71k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.71k|        pb->assertPacker();                                                                        \
  |  |  156|  8.71k|        tribool r = func(pb.get(), user);                                                          \
  |  |  157|  8.71k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 8.71k]
  |  |  ------------------
  |  |  158|  8.71k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.71k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.71k]
  |  |  ------------------
  |  |  160|  8.71k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.71k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.71k]
  |  |  ------------------
  ------------------
  248|       |
  249|  8.71k|    return nullptr;
  250|  8.71k|#undef VISIT
  251|  8.71k|}
_ZN10PackMaster11getUnpackerEP9InputFile:
  260|  15.9k|/*static*/ PackerBase *PackMaster::getUnpacker(InputFile *f) may_throw {
  261|  15.9k|    PackerBase *pb = visitAllPackers(try_can_unpack, f, opt, f);
  262|  15.9k|    if (!pb)
  ------------------
  |  Branch (262:9): [True: 2.66k, False: 13.2k]
  ------------------
  263|  2.66k|        throwNotPacked();
  264|  13.2k|    return pb;
  265|  15.9k|}
_ZN10PackMaster6unpackEP10OutputFile:
  277|  15.9k|void PackMaster::unpack(OutputFile *fo) may_throw {
  278|  15.9k|    assert(packer == nullptr);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  279|      0|    packer = getUnpacker(fi);
  280|  15.9k|    packer->doUnpack(fo);
  281|  15.9k|}
packmast.cpp:_ZL14try_can_unpackP10PackerBasePv:
  118|   476k|static noinline tribool try_can_unpack(PackerBase *pb, void *user) may_throw {
  119|   476k|    assert_noexcept(pb != nullptr);
  ------------------
  |  |  499|   476k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   953k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 476k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  120|   476k|    assert_noexcept(user != nullptr);
  ------------------
  |  |  499|   476k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   953k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 476k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  121|      0|    InputFile *f = (InputFile *) user;
  122|   476k|    try {
  123|   476k|        pb->initPackHeader();
  124|   476k|        f->seek(0, SEEK_SET);
  125|   476k|        tribool r = pb->canUnpack();
  126|   476k|        if (r) {
  ------------------
  |  Branch (126:13): [True: 7.13k, False: 469k]
  ------------------
  127|  7.13k|            f->seek(0, SEEK_SET);
  128|  7.13k|            return true; // success
  129|  7.13k|        }
  130|   469k|        if (r.isThird()) // aka "-1"
  ------------------
  |  Branch (130:13): [True: 64, False: 469k]
  ------------------
  131|     64|            return r;    // canUnpack() says the format is recognized and we should fail early
  132|   469k|    } catch (const IOException &) {
  133|       |        // ignored
  134|  33.2k|    }
  135|   466k|    return false;
  136|   476k|}

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

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

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

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

_Z22membuffer_get_void_ptrR9MemBuffer:
   35|   138k|void *membuffer_get_void_ptr(MemBuffer &mb) noexcept { return mb.getVoidPtr(); }
_Z27membuffer_get_size_in_bytesRK9MemBuffer:
   37|   138k|unsigned membuffer_get_size_in_bytes(const MemBuffer &mb) noexcept { return mb.getSizeInBytes(); }
_ZN9MemBufferC2Ey:
   79|   349k|MemBuffer::MemBuffer(upx_uint64_t bytes) may_throw : MemBufferBase<byte>() {
   80|   349k|    static_assert(element_size == 1);
   81|   349k|    alloc(bytes);
   82|   349k|    debug_set(debug.last_return_address_alloc, upx_return_address());
   83|   349k|}
_ZN9MemBufferD2Ev:
   85|  3.54M|MemBuffer::~MemBuffer() noexcept { this->dealloc(); }
_ZN9MemBuffer21getSizeForCompressionEjj:
   88|   175k|unsigned MemBuffer::getSizeForCompression(unsigned uncompressed_size, unsigned extra) may_throw {
   89|   175k|    if (uncompressed_size == 0)
  ------------------
  |  Branch (89:9): [True: 15.9k, False: 159k]
  ------------------
   90|  15.9k|        throwCantPack("invalid uncompressed_size");
   91|   159k|    const size_t z = uncompressed_size; // fewer keystrokes and display columns
   92|   159k|    size_t bytes = mem_size(1, z);      // check size
   93|       |    // All literal: 1 bit overhead per literal byte; from UCL documentation
   94|   159k|    bytes = upx::umax(bytes, z + z / 8 + 256);
   95|       |    // zstd: ZSTD_COMPRESSBOUND
   96|   159k|    bytes = upx::umax(bytes, z + (z >> 8) + ((z < (128 << 10)) ? (((128 << 10) - z) >> 11) : 0));
  ------------------
  |  Branch (96:46): [True: 47.8k, False: 111k]
  ------------------
   97|       |    // add extra and 256 safety for various rounding/alignments
   98|   159k|    bytes = mem_size(1, bytes, extra, 256);
   99|   159k|    return ACC_ICONV(unsigned, bytes);
  ------------------
  |  | 1546|   159k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   159k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  100|   175k|}
_ZN9MemBuffer23getSizeForDecompressionEjj:
  103|  16.2k|unsigned MemBuffer::getSizeForDecompression(unsigned uncompressed_size, unsigned extra) may_throw {
  104|  16.2k|    if (uncompressed_size == 0)
  ------------------
  |  Branch (104:9): [True: 15.9k, False: 275]
  ------------------
  105|  15.9k|        throwCantPack("invalid uncompressed_size");
  106|    275|    size_t bytes = mem_size(1, uncompressed_size, extra); // check size
  107|    275|    return ACC_ICONV(unsigned, bytes);
  ------------------
  |  | 1546|    275|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|    275|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  108|  16.2k|}
_ZN9MemBuffer21allocForDecompressionEjj:
  116|    274|void MemBuffer::allocForDecompression(unsigned uncompressed_size, unsigned extra) may_throw {
  117|    274|    unsigned bytes = getSizeForDecompression(uncompressed_size, extra);
  118|    274|    alloc(bytes);
  119|    274|    debug_set(debug.last_return_address_alloc, upx_return_address());
  120|    274|}
_ZN9MemBuffer4fillEmmi:
  122|   307k|void MemBuffer::fill(size_t off, size_t bytes, int value) may_throw {
  123|   307k|    debug_set(debug.last_return_address_fill, upx_return_address());
  124|   307k|    checkState();
  125|       |    // check overrun and wrap-around
  126|   307k|    if very_unlikely (off + bytes > size_in_bytes || off + bytes < off)
  ------------------
  |  |  248|   307k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   307k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   615k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 307k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 307k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 307k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|      0|        throwCantPack("MemBuffer::fill out of range; take care!");
  128|   307k|    if (bytes > 0)
  ------------------
  |  Branch (128:9): [True: 307k, False: 0]
  ------------------
  129|   307k|        memset(ptr + off, value, bytes);
  130|   307k|}
_ZN9MemBuffer11subref_implEPKcmm:
  134|  7.97M|void *MemBuffer::subref_impl(const char *errfmt, size_t skip, size_t take) may_throw {
  135|  7.97M|    debug_set(debug.last_return_address_subref, upx_return_address());
  136|  7.97M|    checkState();
  137|       |    // check overrun and wrap-around
  138|  7.97M|    if very_unlikely (skip + take > size_in_bytes || skip + take < skip) {
  ------------------
  |  |  248|  7.97M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.97M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  13.5M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 2.87M, False: 5.10M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 2.35M, False: 5.61M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 510k, False: 5.10M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  139|  2.87M|        char buf[100];
  140|       |        // printf is using unsigned formatting
  141|  2.87M|        if (!errfmt || !errfmt[0])
  ------------------
  |  Branch (141:13): [True: 0, False: 2.87M]
  |  Branch (141:24): [True: 2.87M, False: 0]
  ------------------
  142|  2.87M|            errfmt = "bad subref %#x %#x";
  143|  2.87M|        upx_safe_snprintf(buf, sizeof(buf), errfmt, (unsigned) skip, (unsigned) take);
  144|  2.87M|        throwCantPack(buf);
  145|  2.87M|    }
  146|  5.10M|    return ptr + skip;
  147|  7.97M|}
_ZNK9MemBuffer10checkStateEv:
  158|  9.13M|void MemBuffer::checkState() const may_throw {
  159|  9.13M|    if very_unlikely (ptr == nullptr)
  ------------------
  |  |  248|  9.13M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  9.13M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  9.13M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 9.12M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  15.9k|        throwInternalError("block not allocated");
  161|  9.12M|    assert(size_in_bytes > 0);
  ------------------
  |  |  496|  9.12M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  18.2M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 9.12M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  162|  9.12M|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (162:9): [True: 9.12M, False: 0]
  ------------------
  163|  9.12M|        const byte *p = upx::ptr_static_cast<const byte *>(ptr);
  164|  9.12M|        if very_unlikely (get_ne32(p - 4) != MAGIC1(p))
  ------------------
  |  |  248|  9.12M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  9.12M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  9.12M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 9.10M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  165|  15.9k|            throwInternalError("memory clobbered before allocated block 1");
  166|  9.10M|        if very_unlikely (get_ne32(p - 8) != size_in_bytes)
  ------------------
  |  |  248|  9.10M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  9.10M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  9.10M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 9.10M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|      0|            throwInternalError("memory clobbered before allocated block 2");
  168|  9.10M|        if very_unlikely (get_ne32(p + size_in_bytes) != MAGIC2(p))
  ------------------
  |  |  248|  9.10M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  9.10M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  9.10M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 9.10M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|      0|            throwInternalError("memory clobbered past end of allocated block");
  170|  9.10M|    }
  171|  9.12M|}
_ZN9MemBuffer5allocEy:
  173|   413k|void MemBuffer::alloc(const upx_uint64_t bytes) may_throw {
  174|       |    // INFO: we don't automatically free a used buffer
  175|   413k|    assert(ptr == nullptr);
  ------------------
  |  |  496|   413k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   826k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 413k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  176|   413k|    assert(size_in_bytes == 0);
  ------------------
  |  |  496|   413k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   826k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 413k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  177|       |    //
  178|   413k|    assert(bytes > 0);
  ------------------
  |  |  496|   413k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   826k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 413k, False: 2]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  179|      0|    debug_set(debug.last_return_address_alloc, upx_return_address());
  180|   413k|    upx_rsize_t malloc_bytes = mem_size(1, bytes); // check size
  181|   413k|    if (use_simple_mcheck())
  ------------------
  |  Branch (181:9): [True: 397k, False: 15.9k]
  ------------------
  182|   397k|        malloc_bytes += 32;
  183|  15.9k|    else
  184|  15.9k|        malloc_bytes += 4;
  185|   413k|    byte *p = (byte *) ::malloc(malloc_bytes);
  186|   413k|    NO_printf("MemBuffer::alloc %llu: %p\n", bytes, p);
  187|   413k|    if (!p)
  ------------------
  |  Branch (187:9): [True: 0, False: 413k]
  ------------------
  188|      0|        throwOutOfMemoryException();
  189|   413k|    size_in_bytes = size_type(bytes);
  190|   413k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (190:9): [True: 397k, False: 15.9k]
  ------------------
  191|   397k|        p += 16;
  192|       |        // store magic constants to detect buffer overruns
  193|   397k|        set_ne32(p - 8, size_in_bytes);
  194|   397k|        set_ne32(p - 4, MAGIC1(p));
  ------------------
  |  |  155|   397k|#define MAGIC1(p)     ((PTR_BITS32(p) ^ 0xfefdbeeb) | 1)
  |  |  ------------------
  |  |  |  |  154|   397k|#define PTR_BITS32(p) ((upx_uint32_t) (ptr_get_address(p) & 0xffffffff))
  |  |  ------------------
  ------------------
  195|   397k|        set_ne32(p + size_in_bytes + 0, MAGIC2(p));
  ------------------
  |  |  156|   397k|#define MAGIC2(p)     ((PTR_BITS32(p) ^ 0xfefdbeeb ^ 0x88224411) | 1)
  |  |  ------------------
  |  |  |  |  154|   397k|#define PTR_BITS32(p) ((upx_uint32_t) (ptr_get_address(p) & 0xffffffff))
  |  |  ------------------
  ------------------
  196|   397k|        set_ne32(p + size_in_bytes + 4, stats.global_alloc_counter);
  197|   397k|    }
  198|   413k|    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|   413k|    stats.global_alloc_counter += 1;
  204|   413k|    stats.global_total_bytes += size_in_bytes;
  205|   413k|    stats.global_total_active_bytes += size_in_bytes;
  206|   413k|#if DEBUG || 1
  207|   413k|    checkState();
  208|   413k|#endif
  209|   413k|}
_ZN9MemBuffer7deallocEv:
  211|  3.55M|void MemBuffer::dealloc() noexcept {
  212|  3.55M|    if (ptr == nullptr) {
  ------------------
  |  Branch (212:9): [True: 3.15M, False: 397k]
  ------------------
  213|  3.15M|        assert_noexcept(size_in_bytes == 0);
  ------------------
  |  |  499|  3.15M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  6.30M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3.15M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  214|      0|        return;
  215|  3.15M|    }
  216|   397k|    debug_set(debug.last_return_address_dealloc, upx_return_address());
  217|   397k|#if DEBUG || 1
  218|       |    // info: calling checkState() here violates "noexcept", so we need a try block
  219|   397k|    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|   397k|    if (shall_check) {
  ------------------
  |  Branch (222:9): [True: 397k, False: 0]
  ------------------
  223|   397k|        try {
  224|   397k|            checkState();
  225|   397k|        } catch (const Throwable &e) {
  226|      0|            printErr("unknown", e);
  227|      0|            std::terminate();
  228|      0|        } catch (...) {
  229|      0|            std::terminate();
  230|      0|        }
  231|   397k|    }
  232|   397k|#endif
  233|   397k|    stats.global_dealloc_counter += 1;
  234|   397k|    stats.global_total_active_bytes -= size_in_bytes;
  235|   397k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (235:9): [True: 397k, False: 0]
  ------------------
  236|   397k|        byte *p = upx::ptr_static_cast<byte *>(ptr);
  237|       |        // clear magic constants
  238|   397k|        set_ne32(p - 8, 0);
  239|   397k|        set_ne32(p - 4, 0);
  240|   397k|        set_ne32(p + size_in_bytes, 0);
  241|   397k|        set_ne32(p + size_in_bytes + 4, 0);
  242|       |        //
  243|   397k|        ::free(p - 16); // NOLINT(clang-analyzer-unix.Malloc) // see NOTE above
  244|   397k|    } else {
  245|      0|        ::free(ptr); // NOLINT(clang-analyzer-unix.Malloc) // see NOTE above
  246|      0|    }
  247|   397k|    ptr = nullptr;
  248|   397k|    size_in_bytes = 0;
  249|   397k|}
membuffer.cpp:_ZL17use_simple_mcheckv:
   65|  10.3M|static noinline bool use_simple_mcheck() noexcept {
   66|  10.3M|    static upx_std_once_flag init_done;
   67|  10.3M|    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|  10.3M|    return use_simple_mcheck_flag;
   70|  10.3M|}
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|  15.9k|TEST_CASE("MemBuffer unused 1") {
  256|  15.9k|    MemBuffer mb;
  257|  15.9k|    (void) mb;
  258|  15.9k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  260|  15.9k|TEST_CASE("MemBuffer unused 2") {
  261|  15.9k|    MemBuffer mb;
  262|  15.9k|    CHECK(mb.raw_ptr() == nullptr);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  263|  15.9k|    CHECK(mb.raw_size_in_bytes() == 0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  264|  15.9k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  266|  15.9k|TEST_CASE("MemBuffer core") {
  267|  15.9k|    constexpr size_t N = 64;
  268|  15.9k|    MemBuffer mb;
  269|  15.9k|    CHECK_THROWS(mb.checkState());
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  270|  15.9k|    CHECK_THROWS(mb.alloc(0x30000000 + 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|  15.9k|    CHECK(raw_bytes(mb, 0) == nullptr);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|  15.9k|    CHECK_THROWS(raw_bytes(mb, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|  15.9k|    CHECK_THROWS(mb.begin());
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  274|  15.9k|    CHECK_THROWS(mb.end());
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|  15.9k|    CHECK_THROWS(mb.cbegin());
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  276|  15.9k|    CHECK_THROWS(mb.cend());
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  277|  15.9k|    mb.alloc(N);
  278|  15.9k|    mb.checkState();
  279|  15.9k|    CHECK(mb.begin() == mb.cbegin());
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|  15.9k|    CHECK(mb.end() == mb.cend());
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  281|  15.9k|    CHECK(mb.begin() == &mb[0]);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  282|  15.9k|    CHECK(mb.end() == &mb[0] + N);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  15.9k|    CHECK(mb.cbegin() == &mb[0]);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|  15.9k|    CHECK(mb.cend() == &mb[0] + N);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|  15.9k|    CHECK(raw_bytes(mb, N) != nullptr);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  286|  15.9k|    CHECK(raw_bytes(mb, N) == mb.getVoidPtr());
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|  15.9k|    CHECK_THROWS(raw_bytes(mb, N + 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  288|  15.9k|    CHECK_NOTHROW(mb + N);
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  289|  15.9k|    CHECK_THROWS(mb + (N + 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|       |#if ALLOW_INT_PLUS_MEMBUFFER
  291|       |    CHECK_NOTHROW(N + mb);
  292|       |    CHECK_THROWS((N + 1) + mb);
  293|       |#endif
  294|  15.9k|    CHECK_NOTHROW(mb.subref("", 0, N));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  295|  15.9k|    CHECK_NOTHROW(mb.subref("", N, 0));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|  15.9k|    CHECK_THROWS(mb.subref("", 1, N));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  297|  15.9k|    CHECK_THROWS(mb.subref("", N, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|  15.9k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (298:9): [True: 15.9k, False: 0]
  ------------------
  299|  15.9k|        byte *p = upx::ptr_static_cast<byte *>(raw_bytes(mb, N));
  300|  15.9k|        upx_uint32_t magic1 = get_ne32(p - 4);
  301|  15.9k|        set_ne32(p - 4, magic1 ^ 1);
  302|  15.9k|        CHECK_THROWS(mb.checkState());
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  15.9k|        set_ne32(p - 4, magic1);
  304|  15.9k|        mb.checkState();
  305|  15.9k|    }
  306|  15.9k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
  308|  15.9k|TEST_CASE("MemBuffer global overloads") {
  309|  15.9k|    {
  310|  15.9k|        MemBuffer mb1(1);
  311|  15.9k|        MemBuffer mb4(4);
  312|  15.9k|        mb1.clear();
  313|  15.9k|        mb4.clear();
  314|  15.9k|        CHECK(memcmp(mb1, "\x00", 1) == 0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|  15.9k|        CHECK_THROWS(memcmp(mb1, "\x00\x00", 2)); // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|  15.9k|        CHECK_THROWS(memcmp("\x00\x00", mb1, 2)); // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  317|  15.9k|        CHECK_THROWS(memcmp(mb1, mb4, 2));        // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  318|  15.9k|        CHECK_THROWS(memcmp(mb4, mb1, 2));        // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  319|  15.9k|        CHECK_NOTHROW(memset(mb1, 255, 1));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|  15.9k|        CHECK_THROWS(memset(mb1, 254, 2));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  321|  15.9k|        CHECK(mb1[0] == 255);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  322|  15.9k|    }
  323|       |
  324|   271k|    for (size_t i = 1; i <= 16; i++) {
  ------------------
  |  Branch (324:24): [True: 255k, False: 15.9k]
  ------------------
  325|   255k|        MemBuffer mb(i);
  326|   255k|        mb.clear();
  327|       |
  328|   255k|        if (i < 2) {
  ------------------
  |  Branch (328:13): [True: 15.9k, False: 239k]
  ------------------
  329|  15.9k|            CHECK_THROWS(get_ne16(mb));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|  15.9k|            CHECK_THROWS(get_be16(mb));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  331|  15.9k|            CHECK_THROWS(get_le16(mb));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|  15.9k|            CHECK_THROWS(set_ne16(mb, 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  333|  15.9k|            CHECK_THROWS(set_be16(mb, 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  15.9k|            CHECK_THROWS(set_le16(mb, 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|   239k|        } else {
  336|   239k|            CHECK_NOTHROW(get_ne16(mb));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  337|   239k|            CHECK_NOTHROW(get_be16(mb));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  338|   239k|            CHECK_NOTHROW(get_le16(mb));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|   239k|            CHECK_NOTHROW(set_ne16(mb, 0));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  340|   239k|            CHECK_NOTHROW(set_be16(mb, 0));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  341|   239k|            CHECK_NOTHROW(set_le16(mb, 0));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  342|   239k|        }
  343|   255k|        if (i < 3) {
  ------------------
  |  Branch (343:13): [True: 31.8k, False: 223k]
  ------------------
  344|  31.8k|            CHECK_THROWS(get_ne24(mb));
  ------------------
  |  | 2970|  31.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  31.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  31.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  31.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  31.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 31.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  31.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  31.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  31.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  31.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  31.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  31.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  31.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  31.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  31.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  31.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  31.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  31.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  31.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  31.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  345|  31.8k|            CHECK_THROWS(get_be24(mb));
  ------------------
  |  | 2970|  31.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  31.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  31.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  31.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  31.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 31.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  31.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  31.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  31.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  31.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  31.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  31.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  31.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  31.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  31.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  31.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  31.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  31.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  31.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  31.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  346|  31.8k|            CHECK_THROWS(get_le24(mb));
  ------------------
  |  | 2970|  31.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  31.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  31.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  31.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  31.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 31.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  31.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  31.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  31.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  31.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  31.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  31.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  31.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  31.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  31.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  31.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  31.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  31.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  31.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  31.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  347|  31.8k|            CHECK_THROWS(set_ne24(mb, 0));
  ------------------
  |  | 2970|  31.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  31.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  31.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  31.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  31.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 31.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  31.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  31.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  31.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  31.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  31.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  31.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  31.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  31.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  31.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  31.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  31.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  31.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  31.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  31.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|  31.8k|            CHECK_THROWS(set_be24(mb, 0));
  ------------------
  |  | 2970|  31.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  31.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  31.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  31.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  31.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 31.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  31.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  31.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  31.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  31.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  31.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  31.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  31.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  31.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  31.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  31.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  31.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  31.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  31.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  31.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  349|  31.8k|            CHECK_THROWS(set_le24(mb, 0));
  ------------------
  |  | 2970|  31.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  31.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  31.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  31.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  31.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 31.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  31.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  31.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  31.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  31.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  31.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  31.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  31.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  31.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  31.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  31.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  31.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  31.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  31.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  31.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 31.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  350|   223k|        } else {
  351|   223k|            CHECK_NOTHROW(get_ne24(mb));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  352|   223k|            CHECK_NOTHROW(get_be24(mb));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  353|   223k|            CHECK_NOTHROW(get_le24(mb));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  354|   223k|            CHECK_NOTHROW(set_ne24(mb, 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  355|   223k|            CHECK_NOTHROW(set_be24(mb, 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  356|   223k|            CHECK_NOTHROW(set_le24(mb, 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  357|   223k|        }
  358|   255k|        if (i < 4) {
  ------------------
  |  Branch (358:13): [True: 47.8k, False: 207k]
  ------------------
  359|  47.8k|            CHECK_THROWS(get_ne32(mb));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  360|  47.8k|            CHECK_THROWS(get_be32(mb));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  361|  47.8k|            CHECK_THROWS(get_le32(mb));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  362|  47.8k|            CHECK_THROWS(set_ne32(mb, 0));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  363|  47.8k|            CHECK_THROWS(set_be32(mb, 0));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  364|  47.8k|            CHECK_THROWS(set_le32(mb, 0));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  365|   207k|        } else {
  366|   207k|            CHECK_NOTHROW(get_ne32(mb));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  367|   207k|            CHECK_NOTHROW(get_be32(mb));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  368|   207k|            CHECK_NOTHROW(get_le32(mb));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  369|   207k|            CHECK_NOTHROW(set_ne32(mb, 0));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  370|   207k|            CHECK_NOTHROW(set_be32(mb, 0));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  371|   207k|            CHECK_NOTHROW(set_le32(mb, 0));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  372|   207k|        }
  373|   255k|        if (i < 8) {
  ------------------
  |  Branch (373:13): [True: 111k, False: 143k]
  ------------------
  374|   111k|            CHECK_THROWS(get_ne64(mb));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  375|   111k|            CHECK_THROWS(get_be64(mb));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  376|   111k|            CHECK_THROWS(get_le64(mb));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  377|   111k|            CHECK_THROWS(set_ne64(mb, 0));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  378|   111k|            CHECK_THROWS(set_be64(mb, 0));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  379|   111k|            CHECK_THROWS(set_le64(mb, 0));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  380|   143k|        } else {
  381|   143k|            CHECK_NOTHROW(get_ne64(mb));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  382|   143k|            CHECK_NOTHROW(get_be64(mb));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  383|   143k|            CHECK_NOTHROW(get_le64(mb));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  384|   143k|            CHECK_NOTHROW(set_ne64(mb, 0));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  385|   143k|            CHECK_NOTHROW(set_be64(mb, 0));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  386|   143k|            CHECK_NOTHROW(set_le64(mb, 0));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  387|   143k|        }
  388|       |
  389|   255k|        CHECK_NOTHROW(mb.subref("", 0, 0));
  ------------------
  |  | 2974|   255k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   255k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   255k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   255k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   255k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   255k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   255k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   255k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|   255k|        CHECK_NOTHROW(mb.subref("", 0, i));
  ------------------
  |  | 2974|   255k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   255k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   255k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   255k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   255k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   255k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   255k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   255k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|   255k|        CHECK_NOTHROW(mb.subref("", i, 0));
  ------------------
  |  | 2974|   255k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   255k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   255k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   255k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   255k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   255k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   255k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   255k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  392|   255k|        CHECK_NOTHROW(mb.subref("", i - 1, 1));
  ------------------
  |  | 2974|   255k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   255k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   255k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   255k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   255k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   255k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   255k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   255k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  393|   255k|        CHECK_THROWS(mb.subref("", 0, i + 1));
  ------------------
  |  | 2970|   255k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   255k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   255k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 255k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   255k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   255k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   255k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   255k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   255k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   255k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   255k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  394|   255k|        CHECK_THROWS(mb.subref("", i + 1, 0));
  ------------------
  |  | 2970|   255k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   255k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   255k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 255k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   255k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   255k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   255k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   255k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   255k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   255k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   255k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  395|   255k|        CHECK_THROWS(mb.subref("", i, 1));
  ------------------
  |  | 2970|   255k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   255k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   255k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 255k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   255k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   255k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   255k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   255k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   255k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   255k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   255k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  396|   255k|        CHECK_THROWS(mb.subref("", (size_t) -1, 0));
  ------------------
  |  | 2970|   255k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   255k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   255k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 255k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   255k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   255k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   255k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   255k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   255k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   255k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   255k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  397|   255k|        CHECK_THROWS(mb.subref("", (size_t) -1, i));
  ------------------
  |  | 2970|   255k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   255k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   255k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 255k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   255k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   255k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   255k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   255k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   255k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   255k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   255k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  398|       |
  399|   255k|#if DEBUG || !(ACC_CC_CLANG && __PPC64__ && ACC_ABI_BIG_ENDIAN) || 0
  400|       |        // @COMPILER_BUG @CLANG_BUG
  401|   255k|        if (i < 2) {
  ------------------
  |  Branch (401:13): [True: 15.9k, False: 239k]
  ------------------
  402|  15.9k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE16)));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  403|  15.9k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE16)));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  404|  15.9k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE16)));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  405|   239k|        } else {
  406|   239k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE16)));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  407|   239k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE16)));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  408|   239k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE16)));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  409|   239k|        }
  410|   255k|        if (i < 4) {
  ------------------
  |  Branch (410:13): [True: 47.8k, False: 207k]
  ------------------
  411|  47.8k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE32)));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  412|  47.8k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE32)));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  413|  47.8k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE32)));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  414|   207k|        } else {
  415|   207k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE32)));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  416|   207k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE32)));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  417|   207k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE32)));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  418|   207k|        }
  419|   255k|        if (i < 8) {
  ------------------
  |  Branch (419:13): [True: 111k, False: 143k]
  ------------------
  420|   111k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE64)));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  421|   111k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE64)));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  422|   111k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE64)));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  423|   143k|        } else {
  424|   143k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE64)));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  425|   143k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE64)));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  426|   143k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE64)));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  427|   143k|        }
  428|       |
  429|   255k|        CHECK_NOTHROW(mb.subref_u<byte *>("", 0));
  ------------------
  |  | 2974|   255k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   255k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   255k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   255k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   255k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   255k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   255k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   255k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  430|   255k|        CHECK_NOTHROW(mb.subref_u<byte *>("", i - 1));
  ------------------
  |  | 2974|   255k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   255k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   255k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   255k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   255k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   255k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   255k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   255k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  431|   255k|        CHECK_THROWS(mb.subref_u<byte *>("", i));
  ------------------
  |  | 2970|   255k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   255k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   255k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 255k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   255k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   255k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   255k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   255k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   255k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   255k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   255k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  432|   255k|        CHECK_THROWS(mb.subref_u<byte *>("", (size_t) -1));
  ------------------
  |  | 2970|   255k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   255k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   255k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 255k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   255k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   255k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   255k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   255k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   255k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   255k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   255k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   255k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   255k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  433|       |
  434|   255k|        if (i < 2) {
  ------------------
  |  Branch (434:13): [True: 15.9k, False: 239k]
  ------------------
  435|  15.9k|            CHECK_THROWS(mb.subref_u<NE16 *>("", 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  436|  15.9k|            CHECK_THROWS(mb.subref_u<BE16 *>("", 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  437|  15.9k|            CHECK_THROWS(mb.subref_u<LE16 *>("", 0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  438|   239k|        } else {
  439|   239k|            CHECK_NOTHROW(mb.subref_u<NE16 *>("", 0));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  440|   239k|            CHECK_NOTHROW(mb.subref_u<BE16 *>("", 0));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  441|   239k|            CHECK_NOTHROW(mb.subref_u<LE16 *>("", 0));
  ------------------
  |  | 2974|   239k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   239k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   239k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   239k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   239k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   239k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   239k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   239k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   239k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   239k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   239k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   239k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   239k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   239k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   239k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   239k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   239k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 239k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  442|   239k|        }
  443|   255k|        if (i < 4) {
  ------------------
  |  Branch (443:13): [True: 47.8k, False: 207k]
  ------------------
  444|  47.8k|            CHECK_THROWS(mb.subref_u<NE32 *>("", 0));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  445|  47.8k|            CHECK_THROWS(mb.subref_u<BE32 *>("", 0));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  446|  47.8k|            CHECK_THROWS(mb.subref_u<LE32 *>("", 0));
  ------------------
  |  | 2970|  47.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  47.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  47.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  47.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  47.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 47.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  47.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  47.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  47.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  47.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  47.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  47.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  47.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  47.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  47.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  47.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  47.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  47.8k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  47.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  47.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 47.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  447|   207k|        } else {
  448|   207k|            CHECK_NOTHROW(mb.subref_u<NE32 *>("", 0));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  449|   207k|            CHECK_NOTHROW(mb.subref_u<BE32 *>("", 0));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  450|   207k|            CHECK_NOTHROW(mb.subref_u<LE32 *>("", 0));
  ------------------
  |  | 2974|   207k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   207k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   207k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   207k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   207k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   207k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   207k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   207k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   207k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   207k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   207k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   207k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   207k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   207k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   207k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   207k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   207k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 207k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  451|   207k|        }
  452|   255k|        if (i < 8) {
  ------------------
  |  Branch (452:13): [True: 111k, False: 143k]
  ------------------
  453|   111k|            CHECK_THROWS(mb.subref_u<NE64 *>("", 0));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  454|   111k|            CHECK_THROWS(mb.subref_u<BE64 *>("", 0));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  455|   111k|            CHECK_THROWS(mb.subref_u<LE64 *>("", 0));
  ------------------
  |  | 2970|   111k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   111k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   111k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   111k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   111k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 111k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   111k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   111k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   111k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   111k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   111k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   111k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   111k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   111k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   111k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   111k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   111k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   111k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   111k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   111k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 111k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  456|   143k|        } else {
  457|   143k|            CHECK_NOTHROW(mb.subref_u<NE64 *>("", 0));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  458|   143k|            CHECK_NOTHROW(mb.subref_u<BE64 *>("", 0));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  459|   143k|            CHECK_NOTHROW(mb.subref_u<LE64 *>("", 0));
  ------------------
  |  | 2974|   143k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   143k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   143k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   143k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   143k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   143k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   143k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   143k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   143k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   143k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  460|   143k|        }
  461|   255k|#endif
  462|   255k|    }
  463|  15.9k|}
membuffer.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  465|  15.9k|TEST_CASE("MemBuffer array access") {
  466|  15.9k|    constexpr size_t N = 16;
  467|  15.9k|    MemBuffer mb(N);
  468|  15.9k|    mb.clear();
  469|   271k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (469:24): [True: 255k, False: 15.9k]
  ------------------
  470|   255k|        mb[i] += 1;
  471|   271k|    for (byte *ptr = mb; ptr != mb + N; ++ptr)
  ------------------
  |  Branch (471:26): [True: 255k, False: 15.9k]
  ------------------
  472|   255k|        *ptr += 1;
  473|   271k|    for (byte *ptr = mb + 0; ptr < mb + N; ++ptr)
  ------------------
  |  Branch (473:30): [True: 255k, False: 15.9k]
  ------------------
  474|   255k|        *ptr += 1;
  475|   271k|    for (byte *ptr = &mb[0]; ptr != mb.end(); ++ptr)
  ------------------
  |  Branch (475:30): [True: 255k, False: 15.9k]
  ------------------
  476|   255k|        *ptr += 1;
  477|   271k|    for (byte *ptr = mb.begin(); ptr < mb.end(); ++ptr)
  ------------------
  |  Branch (477:34): [True: 255k, False: 15.9k]
  ------------------
  478|   255k|        *ptr += 1;
  479|   271k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (479:24): [True: 255k, False: 15.9k]
  ------------------
  480|   255k|        assert(mb[i] == 5);
  ------------------
  |  |  496|   255k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 255k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  15.9k|    CHECK_NOTHROW((void) &mb[N - 1]);
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  15.9k|    CHECK_THROWS((void) &mb[N]); // NOT legal for containers like std::vector or MemBuffer
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  483|  15.9k|}
membuffer.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
  485|  15.9k|TEST_CASE("MemBuffer::getSizeForCompression") {
  486|  15.9k|    CHECK_THROWS(MemBuffer::getSizeForCompression(0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  487|  15.9k|    CHECK_THROWS(MemBuffer::getSizeForDecompression(0));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  488|  15.9k|    CHECK(MemBuffer::getSizeForCompression(1) == 513);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  489|  15.9k|    CHECK(MemBuffer::getSizeForCompression(256) == 800);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  490|  15.9k|    CHECK(MemBuffer::getSizeForCompression(1024) == 1664);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  15.9k|    CHECK(MemBuffer::getSizeForCompression(1024 * 1024) == 1180160);         // 0x00100000
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  15.9k|    CHECK(MemBuffer::getSizeForCompression(64 * 1024 * 1024) == 75497984);   // 0x04000000
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|  15.9k|    CHECK(MemBuffer::getSizeForCompression(512 * 1024 * 1024) == 603980288); // 0x20000000
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  494|  15.9k|    CHECK(MemBuffer::getSizeForCompression(640 * 1024 * 1024) == 754975232); // 0x28000000
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  495|       |    // "682 MiB Ought to be Enough for Anyone" --Markus F.X.J. Oberhumer, 2023 ;-)
  496|  15.9k|    CHECK(MemBuffer::getSizeForCompression(682 * 1024 * 1024) == 804520448); // 0x2aa00000
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  497|  15.9k|    CHECK(MemBuffer::getSizeForCompression(715827428) == UPX_RSIZE_MAX);     // 0x2aaaa8e4
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  498|  15.9k|    CHECK_THROWS(MemBuffer::getSizeForCompression(715827428 + 1));           // 0x2aaaa8e4 + 1
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  499|  15.9k|}

_ZN9MemBuffer10getVoidPtrEv:
  206|   182k|    void *getVoidPtr() noexcept { return (void *) ptr; }
_ZN9MemBuffer5clearEv:
  214|   307k|    forceinline void clear() may_throw { fill(0, size_in_bytes, 0); }
_ZN9MemBufferC2Ev:
  190|  3.19M|    explicit forceinline MemBuffer() noexcept : MemBufferBase<byte>() {}
_ZNK9MemBuffer14getSizeInBytesEv:
  208|   140k|    unsigned getSizeInBytes() const noexcept { return size_in_bytes; }
_ZNK9MemBuffer7getSizeEv:
  209|  74.7k|    unsigned getSize() const noexcept { return size_in_bytes / element_size; }
_ZN9MemBuffer5clearEmm:
  213|      1|    forceinline void clear(size_t off, size_t bytes) may_throw { fill(off, bytes, 0); }
_ZN9MemBuffer6subrefEPKcmm:
  220|  4.65M|    forceinline pointer subref(const char *errfmt, size_t skip, size_t take) may_throw {
  221|  4.65M|        return (pointer) subref_impl(errfmt, skip, take);
  222|  4.65M|    }
_ZNK13MemBufferBaseIhEplIjEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   118k|        may_throw {
   98|   118k|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|   118k|        return raw_bytes(bytes) + n;                         // and check bytes
  100|   118k|    }
_ZNK13MemBufferBaseIhE9raw_bytesEm:
  111|  7.21M|    pointer raw_bytes(size_t bytes) const may_throw {
  112|  7.21M|        if (bytes > 0) {
  ------------------
  |  Branch (112:13): [True: 7.10M, False: 110k]
  ------------------
  113|  7.10M|            if very_unlikely (ptr == nullptr)
  ------------------
  |  |  248|  7.10M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.10M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  7.10M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 7.08M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  114|  15.9k|                throwCantPack("MemBuffer raw_bytes unexpected NULL ptr");
  115|  7.08M|            if very_unlikely (bytes > size_in_bytes)
  ------------------
  |  |  248|  7.08M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.08M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  7.08M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 1.35M, False: 5.73M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  116|  1.35M|                throwCantPack("MemBuffer raw_bytes invalid size");
  117|  7.08M|        }
  118|  5.84M|        return ptr;
  119|  7.21M|    }
_ZNK13MemBufferBaseIhE7raw_ptrEv:
  108|  15.9k|    pointer raw_ptr() const noexcept { return ptr; }
_Z9raw_bytesIhEN13MemBufferBaseIT_E7pointerERKS2_m:
  149|  95.6k|                                                    size_t size_in_bytes) {
  150|  95.6k|    return mbb.raw_bytes(size_in_bytes);
  151|  95.6k|}
_ZN13MemBufferBaseIhEC2Ev:
   54|  3.54M|    explicit forceinline MemBufferBase() noexcept : ptr(nullptr), size_in_bytes(0) {}
_ZN13MemBufferBaseIhED2Ev:
   55|  3.55M|    forceinline ~MemBufferBase() noexcept {}
_ZNK13MemBufferBaseIhEcvPhEv:
   59|  43.5k|    operator pointer() const noexcept { return ptr; }
_ZNK13MemBufferBaseIhEplIxEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|    572|        may_throw {
   98|    572|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|    572|        return raw_bytes(bytes) + n;                         // and check bytes
  100|    572|    }
_ZNK13MemBufferBaseIhEplIiEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   162k|        may_throw {
   98|   162k|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|   162k|        return raw_bytes(bytes) + n;                         // and check bytes
  100|   162k|    }
_ZNK13MemBufferBaseIhEixEl:
   62|  1.66M|    reference operator[](ptrdiff_t i) const may_throw {
   63|       |        // NOTE: &array[SIZE] is *not* legal for containers like std::vector and MemBuffer !
   64|  1.66M|        if very_unlikely (i < 0 || mem_size(element_size, i) >= size_in_bytes)
  ------------------
  |  |  248|  1.66M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.66M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  3.32M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 16.0k, False: 1.64M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 11, False: 1.66M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 16.1k, False: 1.64M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|  16.0k|            throwCantPack("MemBuffer invalid array index %td (%zu bytes)", i, size_in_bytes);
   66|  1.64M|        return ptr[i];
   67|  1.66M|    }
_ZplIhjENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|  14.6k|operator+(U n, const MemBufferBase<T> &mbb) {
  137|  14.6k|    return mbb + n;
  138|  14.6k|}
_ZplIhyENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|  7.18k|operator+(U n, const MemBufferBase<T> &mbb) {
  137|  7.18k|    return mbb + n;
  138|  7.18k|}
_ZNK13MemBufferBaseIhEplIyEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|  7.18k|        may_throw {
   98|  7.18k|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|  7.18k|        return raw_bytes(bytes) + n;                         // and check bytes
  100|  7.18k|    }
_ZplIhxENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|    572|operator+(U n, const MemBufferBase<T> &mbb) {
  137|    572|    return mbb + n;
  138|    572|}
_ZNK13MemBufferBaseIhEplImEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   574k|        may_throw {
   98|   574k|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|   574k|        return raw_bytes(bytes) + n;                         // and check bytes
  100|   574k|    }
_ZNK13MemBufferBaseIhE17raw_size_in_bytesEv:
  109|  15.9k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK13MemBufferBaseIhE5beginEv:
   73|  63.7k|    iterator begin() const may_throw {
   74|  63.7k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  248|  63.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  63.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 47.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   75|  15.9k|            throwCantPack("MemBuffer begin() unexpected NULL ptr");
   76|  47.8k|        return ptr;
   77|  63.7k|    }
_ZNK13MemBufferBaseIhE3endEv:
   83|   589k|    iterator end() const may_throw {
   84|   589k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  248|   589k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   589k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   589k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 574k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|  15.9k|            throwCantPack("MemBuffer end() unexpected NULL ptr");
   86|   574k|        return ptr + size_in_bytes / element_size;
   87|   589k|    }
_ZNK13MemBufferBaseIhE6cbeginEv:
   78|  47.8k|    const_iterator cbegin() const may_throw {
   79|  47.8k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  248|  47.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  47.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  47.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|  15.9k|            throwCantPack("MemBuffer cbegin() unexpected NULL ptr");
   81|  31.8k|        return ptr;
   82|  47.8k|    }
_ZNK13MemBufferBaseIhE4cendEv:
   88|  47.8k|    const_iterator cend() const may_throw {
   89|  47.8k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  248|  47.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  47.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  47.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|  15.9k|            throwCantPack("MemBuffer cend() unexpected NULL ptr");
   91|  31.8k|        return ptr + size_in_bytes / element_size;
   92|  47.8k|    }
_ZN9MemBuffer8subref_uIPhEET_PKcm:
  224|  1.02M|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|  1.02M|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  250|  1.02M|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  1.02M|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|  1.02M|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|  1.02M|    }
_ZN9MemBuffer8subref_uIP4LE16EET_PKcm:
  224|   510k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   510k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  250|   510k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   510k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   510k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   510k|    }
_ZN9MemBuffer8subref_uIP4BE16EET_PKcm:
  224|   255k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   255k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  250|   255k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   255k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   255k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   255k|    }
_ZN9MemBuffer8subref_uIP4LE32EET_PKcm:
  224|   510k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   510k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  250|   510k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   510k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   510k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   510k|    }
_ZN9MemBuffer8subref_uIP4BE32EET_PKcm:
  224|   255k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   255k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  250|   255k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   255k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   255k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   255k|    }
_ZN9MemBuffer8subref_uIP4LE64EET_PKcm:
  224|   510k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   510k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  250|   510k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   510k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   510k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   510k|    }
_ZN9MemBuffer8subref_uIP4BE64EET_PKcm:
  224|   255k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   255k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  250|   255k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   255k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   255k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   255k|    }

_Z12acc_vget_intii:
 6371|   318k|{
 6372|   318k|    __ACCLIB_VGET_BODY(int)
  ------------------
  |  | 6357|   318k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|   318k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   318k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 318k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 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|   318k|    return v;
  ------------------
 6373|   318k|}
_Z13acc_vget_longli:
 6375|  47.8k|{
 6376|  47.8k|    __ACCLIB_VGET_BODY(long)
  ------------------
  |  | 6357|  47.8k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  47.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  47.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 47.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6358|      0|        typedef T __acc_may_alias TT; \
  |  | 6359|      0|        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6360|      0|        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6361|      0|        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6362|      0|        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6363|      0|    } \
  |  | 6364|  47.8k|    return v;
  ------------------
 6377|  47.8k|}
_Z21acc_vget_acc_int64l_txi:
 6380|   207k|{
 6381|   207k|    __ACCLIB_VGET_BODY(acc_int64l_t)
  ------------------
  |  | 6357|   207k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|   207k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   207k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 207k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 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|   207k|    return v;
  ------------------
 6382|   207k|}
_Z20acc_vget_acc_hsize_tmi:
 6385|  31.8k|{
 6386|  31.8k|    __ACCLIB_VGET_BODY(acc_hsize_t)
  ------------------
  |  | 6357|  31.8k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  31.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  31.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6358|      0|        typedef T __acc_may_alias TT; \
  |  | 6359|      0|        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6360|      0|        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6361|      0|        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6362|      0|        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6363|      0|    } \
  |  | 6364|  31.8k|    return v;
  ------------------
 6387|  31.8k|}
_Z20acc_vget_acc_hvoid_pPvi:
 6395|  63.7k|{
 6396|  63.7k|    __ACCLIB_VGET_BODY(acc_hvoid_p)
  ------------------
  |  | 6357|  63.7k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  63.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 63.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|  63.7k|    return v;
  ------------------
 6397|  63.7k|}
_Z15acc_getopt_initP12acc_getopt_tiiPPc:
 6762|   143k|{
 6763|   143k|    memset(g, 0, sizeof(*g));
 6764|   143k|    g->optind = start_argc;
 6765|   143k|    g->argc = argc; g->argv = argv;
 6766|   143k|    g->optopt = -1;
 6767|   143k|}
_Z10acc_getoptP12acc_getopt_tPKcPK20acc_getopt_longopt_tPi:
 6801|   462k|{
 6802|   462k|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
 6803|   462k|    int ordering = ACC_GETOPT_PERMUTE;
 6804|   462k|    int missing_arg_ret = g->bad_option;
 6805|   462k|    char *a;
 6806|   462k|    if (shortopts) {
  ------------------
  |  Branch (6806:9): [True: 462k, False: 0]
  ------------------
 6807|   462k|        if (*shortopts == '-' || *shortopts == '+')
  ------------------
  |  Branch (6807:13): [True: 0, False: 462k]
  |  Branch (6807:34): [True: 0, False: 462k]
  ------------------
 6808|      0|            ordering = *shortopts++ == '-' ? ACC_GETOPT_RETURN_IN_ORDER : ACC_GETOPT_REQUIRE_ORDER;
  ------------------
  |  Branch (6808:24): [True: 0, False: 0]
  ------------------
 6809|   462k|        if (*shortopts == ':')
  ------------------
  |  Branch (6809:13): [True: 0, False: 462k]
  ------------------
 6810|      0|            missing_arg_ret = *shortopts++;
 6811|   462k|    }
 6812|   462k|    g->optarg = ACC_nullptr;
  ------------------
  |  |  442|   462k|#  define ACC_nullptr           nullptr
  ------------------
 6813|   462k|    if (g->optopt == -1)
  ------------------
  |  Branch (6813:9): [True: 143k, False: 318k]
  ------------------
 6814|   143k|        g->optopt = g->bad_option;
 6815|   462k|    if (longind)
  ------------------
  |  Branch (6815:9): [True: 462k, False: 0]
  ------------------
 6816|   462k|        *longind = -1;
 6817|   462k|    if (g->eof)
  ------------------
  |  Branch (6817:9): [True: 0, False: 462k]
  ------------------
 6818|      0|        return -1;
 6819|   462k|    if (g->shortpos)
  ------------------
  |  Branch (6819:9): [True: 0, False: 462k]
  ------------------
 6820|      0|        goto acc_label_next_shortopt;
 6821|   462k|    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  ------------------
  |  | 5069|   462k|#  define __ACCLIB_FUNCNAME(f)  f
  ------------------
 6822|   462k|    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
 6823|   462k|    if (ordering == ACC_GETOPT_PERMUTE) {
  ------------------
  |  Branch (6823:9): [True: 462k, False: 0]
  ------------------
 6824|   494k|        while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1]))
  ------------------
  |  Branch (6824:16): [True: 350k, False: 143k]
  |  Branch (6824:41): [True: 318k, False: 31.8k]
  |  Branch (6824:73): [True: 318k, False: 0]
  ------------------
 6825|  31.8k|            ++g->optind;
 6826|   462k|        g->pending_rotate_middle = g->optind;
 6827|   462k|    }
 6828|   462k|    if (g->optind >= g->argc) {
  ------------------
  |  Branch (6828:9): [True: 143k, False: 318k]
  ------------------
 6829|   143k|        g->optind = g->pending_rotate_first;
 6830|   143k|        goto acc_label_eof;
 6831|   143k|    }
 6832|   318k|    a = g->argv[g->optind];
 6833|   318k|    if (a[0] == '-' && a[1] == '-') {
  ------------------
  |  Branch (6833:9): [True: 318k, False: 0]
  |  Branch (6833:24): [True: 287k, False: 31.8k]
  ------------------
 6834|   287k|        size_t l = 0;
 6835|   287k|        const acc_getopt_longopt_p o;
 6836|   287k|        const acc_getopt_longopt_p o1 = ACC_nullptr;
  ------------------
  |  |  442|   287k|#  define ACC_nullptr           nullptr
  ------------------
 6837|   287k|        const acc_getopt_longopt_p o2 = ACC_nullptr;
  ------------------
  |  |  442|   287k|#  define ACC_nullptr           nullptr
  ------------------
 6838|   287k|        int need_exact = 0;
 6839|   287k|        ++g->optind;
 6840|   287k|        if (!a[2])
  ------------------
  |  Branch (6840:13): [True: 0, False: 287k]
  ------------------
 6841|      0|            goto acc_label_eof;
 6842|  1.81M|        for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; )
  ------------------
  |  Branch (6842:22): [True: 1.53M, False: 287k]
  |  Branch (6842:30): [True: 1.53M, False: 0]
  |  Branch (6842:45): [True: 1.53M, False: 0]
  ------------------
 6843|  1.53M|            ++l;
 6844|  11.0M|        for (o = longopts; l && o && o->name; ++o) {
  ------------------
  |  Branch (6844:28): [True: 11.0M, False: 0]
  |  Branch (6844:33): [True: 11.0M, False: 0]
  |  Branch (6844:38): [True: 11.0M, False: 0]
  ------------------
 6845|  11.0M|            if (strncmp(a, o->name, l) != 0)
  ------------------
  |  Branch (6845:17): [True: 10.7M, False: 287k]
  ------------------
 6846|  10.7M|                continue;
 6847|   287k|            if (!o->name[l])
  ------------------
  |  Branch (6847:17): [True: 287k, False: 0]
  ------------------
 6848|   287k|                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|   287k|    acc_label_found_o:
 6861|   287k|        a += l;
 6862|   287k|        switch (o->has_arg & 0x2f) {
 6863|      0|        case ACC_GETOPT_OPTIONAL_ARG:
  ------------------
  |  Branch (6863:9): [True: 0, False: 287k]
  ------------------
 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: 287k]
  ------------------
 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: 287k]
  ------------------
 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|   287k|        default:
  ------------------
  |  Branch (6881:9): [True: 287k, False: 0]
  ------------------
 6882|   287k|            if (a[0])
  ------------------
  |  Branch (6882:17): [True: 0, False: 287k]
  ------------------
 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|   287k|            break;
 6885|   287k|        }
 6886|   287k|        if (longind)
  ------------------
  |  Branch (6886:13): [True: 287k, False: 0]
  ------------------
 6887|   287k|            *longind = (int) (o - longopts);
 6888|   287k|        if (o->flag) {
  ------------------
  |  Branch (6888:13): [True: 0, False: 287k]
  ------------------
 6889|      0|            *o->flag = o->val;
 6890|      0|            return 0;
 6891|      0|        }
 6892|   287k|        return o->val;
 6893|   287k|    }
 6894|  31.8k|    if (a[0] == '-' && a[1]) {
  ------------------
  |  Branch (6894:9): [True: 31.8k, False: 0]
  |  Branch (6894:24): [True: 31.8k, False: 0]
  ------------------
 6895|  31.8k|        unsigned char c;
 6896|  31.8k|        const char *s;
 6897|  31.8k|    acc_label_next_shortopt:
 6898|  31.8k|        a = g->argv[g->optind] + ++g->shortpos;
 6899|  31.8k|        c = (unsigned char) *a++; s = ACC_nullptr;
  ------------------
  |  |  442|  31.8k|#  define ACC_nullptr           nullptr
  ------------------
 6900|  31.8k|        if (c != ':' && shortopts)
  ------------------
  |  Branch (6900:13): [True: 31.8k, False: 0]
  |  Branch (6900:25): [True: 31.8k, False: 0]
  ------------------
 6901|  31.8k|            s = strchr(shortopts, c);
 6902|  31.8k|        if (!s || s[1] != ':') {
  ------------------
  |  Branch (6902:13): [True: 0, False: 31.8k]
  |  Branch (6902:19): [True: 15.9k, False: 15.9k]
  ------------------
 6903|  15.9k|            if (!a[0])
  ------------------
  |  Branch (6903:17): [True: 15.9k, False: 0]
  ------------------
 6904|  15.9k|                { ++g->optind; g->shortpos = 0; }
 6905|  15.9k|            if (!s) {
  ------------------
  |  Branch (6905:17): [True: 0, False: 15.9k]
  ------------------
 6906|      0|                g->optopt = c;
 6907|      0|                return pe(g, g->bad_option, "invalid option '-%c'", c);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6908|      0|            }
 6909|  15.9k|        } else {
 6910|  15.9k|            ++g->optind; g->shortpos = 0;
 6911|  15.9k|            if (a[0])
  ------------------
  |  Branch (6911:17): [True: 0, False: 15.9k]
  ------------------
 6912|      0|                g->optarg = a;
 6913|  15.9k|            else if (s[2] != ':') {
  ------------------
  |  Branch (6913:22): [True: 15.9k, False: 0]
  ------------------
 6914|  15.9k|                if (g->optind < g->argc)
  ------------------
  |  Branch (6914:21): [True: 15.9k, False: 0]
  ------------------
 6915|  15.9k|                    g->optarg = g->argv[g->optind++];
 6916|      0|                else {
 6917|      0|                    g->optopt = c;
 6918|      0|                    return pe(g, missing_arg_ret, "option '-%c' requires an argument", c);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6919|      0|                }
 6920|  15.9k|            }
 6921|  15.9k|        }
 6922|  31.8k|        return c;
 6923|  31.8k|    }
 6924|      0|    if (ordering == ACC_GETOPT_RETURN_IN_ORDER) {
  ------------------
  |  Branch (6924:9): [True: 0, False: 0]
  ------------------
 6925|      0|        g->optarg = a;
 6926|      0|        ++g->optind;
 6927|      0|        return 1;
 6928|      0|    }
 6929|   143k|acc_label_eof:
 6930|   143k|    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  ------------------
  |  | 5069|   143k|#  define __ACCLIB_FUNCNAME(f)  f
  ------------------
 6931|   143k|    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
 6932|   143k|    g->eof = 1;
 6933|   143k|    return -1;
 6934|      0|#undef pe
 6935|      0|}
_Z14acc_safe_hreadiPvl:
 7153|   654k|{
 7154|   654k|    acc_hbyte_p b = (acc_hbyte_p) buf;
  ------------------
  |  | 5114|   654k|#  define acc_hbyte_p   unsigned char *
  ------------------
 7155|   654k|    long l = 0;
 7156|   654k|    int saved_errno;
 7157|   654k|    saved_errno = errno;
 7158|  1.30M|    while (l < size)
  ------------------
  |  Branch (7158:12): [True: 671k, False: 636k]
  ------------------
 7159|   671k|    {
 7160|   671k|        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|   671k|        errno = 0; n = read(fd, b, n);
 7168|   671k|#endif
 7169|   671k|        if (n == 0)
  ------------------
  |  Branch (7169:13): [True: 17.8k, False: 653k]
  ------------------
 7170|  17.8k|            break;
 7171|   653k|        if (n < 0) {
  ------------------
  |  Branch (7171:13): [True: 0, False: 653k]
  ------------------
 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|   653k|        b += n; l += n;
 7182|   653k|    }
 7183|   654k|    errno = saved_errno;
 7184|   654k|    return l;
 7185|   654k|}
_Z15acc_safe_hwriteiPKvl:
 7187|  32.5k|{
 7188|  32.5k|    const acc_hbyte_p b = (const acc_hbyte_p) buf;
 7189|  32.5k|    long l = 0;
 7190|  32.5k|    int saved_errno;
 7191|  32.5k|    saved_errno = errno;
 7192|  65.0k|    while (l < size)
  ------------------
  |  Branch (7192:12): [True: 32.5k, False: 32.5k]
  ------------------
 7193|  32.5k|    {
 7194|  32.5k|        long n = size - l;
 7195|       |#if (ACC_HAVE_MM_HUGE_PTR)
 7196|       |#  define __ACCLIB_REQUIRE_HREAD_CH 1
 7197|       |        errno = 0; n = acc_hwrite(fd, b, n);
 7198|       |#elif (ACC_OS_DOS32) && defined(__DJGPP__)
 7199|       |        errno = 0; n = _write(fd, b, n);
 7200|       |#else
 7201|  32.5k|        errno = 0; n = write(fd, b, n);
 7202|  32.5k|#endif
 7203|  32.5k|        if (n == 0)
  ------------------
  |  Branch (7203:13): [True: 0, False: 32.5k]
  ------------------
 7204|      0|            break;
 7205|  32.5k|        if (n < 0) {
  ------------------
  |  Branch (7205:13): [True: 0, False: 32.5k]
  ------------------
 7206|      0|#if defined(EAGAIN)
 7207|      0|            if (errno == (EAGAIN)) continue;
  ------------------
  |  Branch (7207:17): [True: 0, False: 0]
  ------------------
 7208|      0|#endif
 7209|      0|#if defined(EINTR)
 7210|      0|            if (errno == (EINTR)) continue;
  ------------------
  |  Branch (7210:17): [True: 0, False: 0]
  ------------------
 7211|      0|#endif
 7212|      0|            if (errno == 0) errno = 1;
  ------------------
  |  Branch (7212:17): [True: 0, False: 0]
  ------------------
 7213|      0|            return l;
 7214|      0|        }
 7215|  32.5k|        b += n; l += n;
 7216|  32.5k|    }
 7217|  32.5k|    errno = saved_errno;
 7218|  32.5k|    return l;
 7219|  32.5k|}
_Z10acc_isattyi:
 7760|   511k|{
 7761|   511k|    if (fd < 0)
  ------------------
  |  Branch (7761:9): [True: 0, False: 511k]
  ------------------
 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|   511k|#if (HAVE_ISATTY)
 7794|   511k|    return (isatty(fd)) ? 1 : 0;
  ------------------
  |  Branch (7794:12): [True: 0, False: 511k]
  ------------------
 7795|       |#else
 7796|       |    return 0;
 7797|       |#endif
 7798|   511k|}
util.cpp:_ZL17acc_getopt_rotatePPciii:
 6769|   605k|{
 6770|   605k|    int i = middle, n = middle - first;
 6771|   605k|    if (first >= middle || middle >= last) return 0;
  ------------------
  |  Branch (6771:9): [True: 574k, False: 31.8k]
  |  Branch (6771:28): [True: 15.9k, False: 15.9k]
  ------------------
 6772|  31.8k|    for (;;) {
 6773|  31.8k|        char *t = p[first]; p[first++] = p[i]; p[i++] = t;
 6774|  31.8k|        if (first == middle) {
  ------------------
  |  Branch (6774:13): [True: 31.8k, False: 0]
  ------------------
 6775|  31.8k|            if (i == last) break;
  ------------------
  |  Branch (6775:17): [True: 15.9k, False: 15.9k]
  ------------------
 6776|  15.9k|            middle = i;
 6777|  15.9k|        } else if (i == last)
  ------------------
  |  Branch (6777:20): [True: 0, False: 0]
  ------------------
 6778|      0|            i = middle;
 6779|  31.8k|    }
 6780|  15.9k|    return n;
 6781|   605k|}

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

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

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

_Z14mem_size_validyyyy:
   57|   131k|                    upx_uint64_t extra2) noexcept {
   58|   131k|    assert_noexcept(element_size > 0);
  ------------------
  |  |  499|   131k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   263k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 131k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   59|   131k|    if very_unlikely (element_size == 0 || element_size > UPX_RSIZE_MAX)
  ------------------
  |  |  248|   131k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   131k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   263k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 131k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 131k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 131k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   60|      0|        return false;
   61|   131k|    if very_unlikely (n > UPX_RSIZE_MAX)
  ------------------
  |  |  248|   131k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   131k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   131k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 115k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   62|  15.9k|        return false;
   63|   115k|    if very_unlikely (extra1 > UPX_RSIZE_MAX)
  ------------------
  |  |  248|   115k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   115k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   115k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 115k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   64|      0|        return false;
   65|   115k|    if very_unlikely (extra2 > UPX_RSIZE_MAX)
  ------------------
  |  |  248|   115k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   115k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   115k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 115k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   66|      0|        return false;
   67|   115k|    upx_uint64_t bytes = element_size * n + extra1 + extra2; // cannot overflow
   68|   115k|    if very_unlikely (bytes > UPX_RSIZE_MAX)
  ------------------
  |  |  248|   115k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   115k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   115k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 47.8k, False: 67.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   69|  47.8k|        return false;
   70|  67.7k|    return true;
   71|   115k|}
_Z8mem_sizeyyyy:
   74|  2.00M|                     upx_uint64_t extra2) may_throw {
   75|  2.00M|    assert(element_size > 0);
  ------------------
  |  |  496|  2.00M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  4.01M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.00M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   76|  2.00M|    if very_unlikely (element_size == 0 || element_size > UPX_RSIZE_MAX)
  ------------------
  |  |  248|  2.00M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  2.00M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  4.01M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 2.00M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 2.00M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 2.00M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|      0|        throwCantPack("mem_size 1; take care");
   78|  2.00M|    if very_unlikely (n > UPX_RSIZE_MAX)
  ------------------
  |  |  248|  2.00M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  2.00M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.00M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 47.9k, False: 1.95M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   79|  47.9k|        throwCantPack("mem_size 2; take care");
   80|  1.95M|    if very_unlikely (extra1 > UPX_RSIZE_MAX)
  ------------------
  |  |  248|  1.95M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.95M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  1.95M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 1.95M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|      0|        throwCantPack("mem_size 3; take care");
   82|  1.95M|    if very_unlikely (extra2 > UPX_RSIZE_MAX)
  ------------------
  |  |  248|  1.95M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.95M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  1.95M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 1.95M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   83|      0|        throwCantPack("mem_size 4; take care");
   84|  1.95M|    upx_uint64_t bytes = element_size * n + extra1 + extra2; // cannot overflow
   85|  1.95M|    if very_unlikely (bytes > UPX_RSIZE_MAX)
  ------------------
  |  |  248|  1.95M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.95M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  1.95M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 63.8k, False: 1.89M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   86|  63.8k|        throwCantPack("mem_size 5; take care");
   87|  1.89M|    return ACC_ICONV(upx_rsize_t, bytes);
  ------------------
  |  | 1546|  1.89M|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.89M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   88|  1.95M|}
_Z12mem_size_ptrPKvyyyy:
   91|  1.46M|                         upx_uint64_t extra1, upx_uint64_t extra2) may_throw {
   92|  1.46M|    const upx_rsize_t bytes = mem_size(element_size, n, extra1, extra2); // assert size
   93|  1.46M|    const upx_ptraddr_t p = ptr_get_address(ptr);
   94|       |    // check wrap-around
   95|  1.46M|    if very_unlikely (p == 0 || p + bytes < p)
  ------------------
  |  |  248|  1.46M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.46M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.92M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 1.46M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 1.46M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 1.46M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   96|      0|        throwCantPack("mem_size_ptr %p %zu; take care", ptr, bytes);
   97|  1.46M|    return bytes;
   98|  1.46M|}
_Z14ptr_diff_bytesPKvS0_:
  124|   606k|int ptr_diff_bytes(const void *a, const void *b) may_throw {
  125|   606k|    if very_unlikely (a == nullptr)
  ------------------
  |  |  248|   606k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   606k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   606k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 590k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  15.9k|        throwCantPack("ptr_diff_bytes null 1; take care");
  127|   590k|    if very_unlikely (b == nullptr)
  ------------------
  |  |  248|   590k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   590k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   590k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 574k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  128|  15.9k|        throwCantPack("ptr_diff_bytes null 2; take care");
  129|   574k|    upx_sptraddr_t d = ptraddr_diff(a, b);
  130|   574k|    if (a >= b) {
  ------------------
  |  Branch (130:9): [True: 462k, False: 112k]
  ------------------
  131|   462k|        if very_unlikely (!mem_size_valid_bytes(d))
  ------------------
  |  |  248|   462k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   462k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   462k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 462k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|      0|            throwCantPack("ptr_diff_bytes-1; take care");
  133|   462k|    } else {
  134|   112k|        if very_unlikely (!mem_size_valid_bytes(0ll - d))
  ------------------
  |  |  248|   112k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   112k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   112k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 112k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  135|      0|            throwCantPack("ptr_diff_bytes-2; take care");
  136|   112k|    }
  137|   574k|    assert_noexcept(d == ((const charptr) a - (const charptr) b));
  ------------------
  |  |  499|   574k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  1.14M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 574k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  138|   574k|    return ACC_ICONV(int, d);
  ------------------
  |  | 1546|   574k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   574k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  139|   574k|}
_Z15ptr_udiff_bytesPKvS0_:
  141|   398k|unsigned ptr_udiff_bytes(const void *a, const void *b) may_throw {
  142|   398k|    int d = ptr_diff_bytes(a, b);
  143|   398k|    if very_unlikely (d < 0)
  ------------------
  |  |  248|   398k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   398k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   398k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 15.9k, False: 382k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  15.9k|        throwCantPack("ptr_udiff_bytes; take care");
  145|   382k|    return ACC_ICONV(unsigned, d);
  ------------------
  |  | 1546|   382k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   382k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  146|   398k|}
_Z24ptraddr_check_no_overlapmmmm:
  163|      3|    may_throw {
  164|      3|    if very_unlikely (a == 0 || b == 0)
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  165|      0|        throwCantPack("ptr_check_no_overlap2-nullptr");
  166|      3|    upx_ptraddr_t a_end = a + mem_size(1, a_size);
  167|      3|    upx_ptraddr_t b_end = b + mem_size(1, b_size);
  168|      3|    if very_unlikely (a_end < a || b_end < b) // wrap-around
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|      0|        throwCantPack("ptr_check_no_overlap2-overflow");
  170|       |    // simple, but a little bit mind bending:
  171|       |    //   same as (!(a >= b_end || b >= a_end))
  172|       |    //   same as (!(a_end <= b || b_end <= a))
  173|      3|    if very_unlikely (a < b_end && b < a_end)
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|      0|        throwCantPack("ptr_check_no_overlap2-ab");
  175|      3|}
_Z10upx_getenvPKc:
  280|   605k|const char *upx_getenv(const char *envvar) noexcept {
  281|   605k|    if likely (envvar != nullptr && envvar[0])
  ------------------
  |  |  245|   605k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  1.19M|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 574k, False: 31.8k]
  |  |  |  |  |  Branch (2016:54): [True: 589k, False: 15.9k]
  |  |  |  |  |  Branch (2016:54): [True: 574k, False: 15.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  282|   574k|        return ::getenv(envvar);
  283|  31.8k|    return nullptr;
  284|   605k|}
_Z11upx_memswapPvS_m:
  312|   159k|void upx_memswap(void *aa, void *bb, size_t bytes) noexcept {
  313|   159k|    if (aa != bb && bytes != 0) {
  ------------------
  |  Branch (313:9): [True: 143k, False: 15.9k]
  |  Branch (313:21): [True: 143k, False: 0]
  ------------------
  314|   143k|        byte *a = (byte *) aa;
  315|   143k|        byte *b = (byte *) bb;
  316|   510k|        do {
  317|       |            // strange clang-analyzer-15 false positive when compiling in Debug mode
  318|       |            // clang-analyzer-core.uninitialized.Assign
  319|   510k|            byte tmp = *a; // NOLINT(*core.uninitialized.Assign) // bogus clang-analyzer warning
  320|   510k|            *a++ = *b;
  321|   510k|            *b++ = tmp;
  322|   510k|        } while (--bytes != 0);
  ------------------
  |  Branch (322:18): [True: 366k, False: 143k]
  ------------------
  323|   143k|    }
  324|   159k|}
_Z4findPKviS0_i:
  585|  1.25M|int find(const void *buf, int blen, const void *what, int wlen) noexcept {
  586|       |    // nullptr is explicitly allowed here
  587|  1.25M|    if (buf == nullptr || blen < wlen || what == nullptr || wlen <= 0)
  ------------------
  |  Branch (587:9): [True: 15.9k, False: 1.23M]
  |  Branch (587:27): [True: 15.9k, False: 1.21M]
  |  Branch (587:42): [True: 0, False: 1.21M]
  |  Branch (587:61): [True: 31.8k, False: 1.18M]
  ------------------
  588|  63.7k|        return -1;
  589|       |
  590|  1.18M|    const byte *b = (const byte *) buf;
  591|  1.18M|    const byte first_byte = *(const byte *) what;
  592|       |
  593|  1.18M|    blen -= wlen;
  594|  6.17M|    for (int i = 0; i <= blen; i++, b++)
  ------------------
  |  Branch (594:21): [True: 6.12M, False: 52.4k]
  ------------------
  595|  6.12M|        if (*b == first_byte && memcmp(b, what, wlen) == 0)
  ------------------
  |  Branch (595:13): [True: 1.14M, False: 4.98M]
  |  Branch (595:33): [True: 1.13M, False: 6.49k]
  ------------------
  596|  1.13M|            return i;
  597|       |
  598|  52.4k|    return -1;
  599|  1.18M|}
_Z9find_be16PKvij:
  601|  47.8k|int find_be16(const void *b, int blen, unsigned what) noexcept {
  602|  47.8k|    byte w[2];
  603|  47.8k|    set_be16(w, what);
  604|  47.8k|    return find(b, blen, w, 2);
  605|  47.8k|}
_Z9find_be32PKvij:
  607|  47.8k|int find_be32(const void *b, int blen, unsigned what) noexcept {
  608|  47.8k|    byte w[4];
  609|  47.8k|    set_be32(w, what);
  610|  47.8k|    return find(b, blen, w, 4);
  611|  47.8k|}
_Z9find_be64PKviy:
  613|  31.8k|int find_be64(const void *b, int blen, upx_uint64_t what) noexcept {
  614|  31.8k|    byte w[8];
  615|  31.8k|    set_be64(w, what);
  616|  31.8k|    return find(b, blen, w, 8);
  617|  31.8k|}
_Z9find_le16PKvij:
  619|  47.8k|int find_le16(const void *b, int blen, unsigned what) noexcept {
  620|  47.8k|    byte w[2];
  621|  47.8k|    set_le16(w, what);
  622|  47.8k|    return find(b, blen, w, 2);
  623|  47.8k|}
_Z9find_le32PKvij:
  625|  87.3k|int find_le32(const void *b, int blen, unsigned what) noexcept {
  626|  87.3k|    byte w[4];
  627|  87.3k|    set_le32(w, what);
  628|  87.3k|    return find(b, blen, w, 4);
  629|  87.3k|}
_Z9find_le64PKviy:
  631|  31.8k|int find_le64(const void *b, int blen, upx_uint64_t what) noexcept {
  632|  31.8k|    byte w[8];
  633|  31.8k|    set_le64(w, what);
  634|  31.8k|    return find(b, blen, w, 8);
  635|  31.8k|}
_Z11mem_replacePviPKviS1_:
  659|  79.7k|int mem_replace(void *buf, int blen, const void *what, int wlen, const void *replacement) noexcept {
  660|  79.7k|    byte *const b = (byte *) buf;
  661|  79.7k|    int boff = 0;
  662|  79.7k|    int count = 0;
  663|       |
  664|   462k|    while (blen - boff >= wlen) {
  ------------------
  |  Branch (664:12): [True: 398k, False: 63.7k]
  ------------------
  665|   398k|        int off = find(b + boff, blen - boff, what, wlen);
  666|   398k|        if (off < 0)
  ------------------
  |  Branch (666:13): [True: 15.9k, False: 382k]
  ------------------
  667|  15.9k|            break;
  668|   382k|        boff += off;
  669|   382k|        memcpy(b + boff, replacement, wlen);
  670|   382k|        boff += wlen;
  671|   382k|        count++;
  672|   382k|    }
  673|  79.7k|    return count;
  674|  79.7k|}
_Z11fn_basenamePKc:
  824|  16.0k|char *fn_basename(const char *name) {
  825|  16.0k|    const char *n, *nn;
  826|       |
  827|  16.0k|    name = fn_skip_drive(name);
  ------------------
  |  |  819|  16.0k|#define fn_skip_drive(s) (s)
  ------------------
  828|  66.5k|    for (nn = n = name; *nn; nn++)
  ------------------
  |  Branch (828:25): [True: 50.4k, False: 16.0k]
  ------------------
  829|  50.4k|        if (fn_is_sep(*nn))
  ------------------
  |  |  818|  50.4k|#define fn_is_sep(c)     ((c) == '/')
  |  |  ------------------
  |  |  |  Branch (818:26): [True: 176, False: 50.2k]
  |  |  ------------------
  ------------------
  830|    176|            n = nn + 1;
  831|  16.0k|    return ACC_UNCONST_CAST(char *, n);
  ------------------
  |  | 1483|  16.0k|#    define ACC_UNCONST_CAST(t,e)           (const_cast<t> (e))
  ------------------
  832|  16.0k|}
_Z14is_envvar_truePKcS0_:
  873|   334k|bool is_envvar_true(const char *envvar, const char *alternate_name) noexcept {
  874|   334k|    const char *e = upx_getenv(envvar);
  875|   334k|    if (e != nullptr && e[0])
  ------------------
  |  Branch (875:9): [True: 0, False: 334k]
  |  Branch (875:25): [True: 0, False: 0]
  ------------------
  876|      0|        return strcmp(e, "0") != 0;
  877|   334k|    if (alternate_name != nullptr) {
  ------------------
  |  Branch (877:9): [True: 47.8k, False: 286k]
  ------------------
  878|  47.8k|        e = upx_getenv(alternate_name);
  879|  47.8k|        if (e != nullptr && e[0])
  ------------------
  |  Branch (879:13): [True: 0, False: 47.8k]
  |  Branch (879:29): [True: 0, False: 0]
  ------------------
  880|      0|            return strcmp(e, "0") != 0;
  881|  47.8k|    }
  882|   334k|    return false;
  883|   334k|}
_Z13center_stringPcmPKc:
  907|  15.9k|void center_string(char *buf, size_t size, const char *s) {
  908|  15.9k|    size_t l1 = size - 1;
  909|  15.9k|    size_t l2 = strlen(s);
  ------------------
  |  |   70|  15.9k|#define strlen upx_safe_strlen
  ------------------
  910|  15.9k|    assert(size > 0);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  911|  15.9k|    assert(l2 < size);
  ------------------
  |  |  496|  15.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  31.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 15.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  912|      0|    memset(buf, ' ', l1);
  913|  15.9k|    memcpy(buf + (l1 - l2) / 2, s, l2);
  914|  15.9k|    buf[l1] = 0;
  915|  15.9k|}
_Z9get_ratioyy:
 1012|   207k|unsigned get_ratio(upx_uint64_t u_len, upx_uint64_t c_len) {
 1013|   207k|    constexpr unsigned N = 1000 * 1000;
 1014|   207k|    if (u_len == 0)
  ------------------
  |  Branch (1014:9): [True: 43.3k, False: 163k]
  ------------------
 1015|  43.3k|        return c_len == 0 ? 0 : N;
  ------------------
  |  Branch (1015:16): [True: 27.4k, False: 15.9k]
  ------------------
 1016|   163k|    upx_uint64_t x = c_len * N;
 1017|   163k|    assert(x / N == c_len); // sanity check
  ------------------
  |  |  496|   163k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   327k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 163k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1018|      0|    x /= u_len;
 1019|   163k|    x += 50;         // rounding; cannot overflow
 1020|   163k|    if (x >= 10 * N) // >= "1000%"
  ------------------
  |  Branch (1020:9): [True: 47.8k, False: 116k]
  ------------------
 1021|  47.8k|        x = 10 * N - 1;
 1022|   163k|    return ACC_ICONV(unsigned, x);
  ------------------
  |  | 1546|   163k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   163k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1023|   207k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  100|  15.9k|TEST_CASE("mem_size") {
  101|  15.9k|    mem_size_assert(1, 0);
  102|  15.9k|    mem_size_assert(1, 0x30000000);
  103|  15.9k|    CHECK_THROWS(mem_size_assert(1, 0x30000000 + 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  104|  15.9k|    mem_size_assert_noexcept(1, 0);
  105|  15.9k|    mem_size_assert_noexcept(1, 0x30000000);
  106|  15.9k|    CHECK(mem_size_valid(1, 0));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  107|  15.9k|    CHECK(mem_size_valid(1, 0x30000000));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  108|  15.9k|    CHECK(!mem_size_valid(1, 0x30000000 + 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  109|  15.9k|    CHECK(!mem_size_valid(1, 0x30000000, 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  110|  15.9k|    CHECK(!mem_size_valid(1, 0x30000000, 0, 1));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  111|  15.9k|    CHECK(!mem_size_valid(1, 0x30000000, 0x30000000, 0x30000000));
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  112|  15.9k|    CHECK_NOTHROW(mem_size(1, 0));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  113|  15.9k|    CHECK_NOTHROW(mem_size(1, 0x30000000));
  ------------------
  |  | 2974|  15.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  15.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  15.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  15.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  15.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  15.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  15.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  15.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  114|  15.9k|    CHECK_THROWS(mem_size(1, 0x30000000 + 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  115|  15.9k|    CHECK_THROWS(mem_size(1, 0x30000000, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  116|  15.9k|    CHECK_THROWS(mem_size(1, 0x30000000, 0, 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  117|  15.9k|    CHECK_THROWS(mem_size(1, 0x30000000, 0x30000000, 0x30000000));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  118|  15.9k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  148|  15.9k|TEST_CASE("ptr_diff") {
  149|  15.9k|    byte buf[4] = {0, 1, 2, 3};
  150|  15.9k|    CHECK_THROWS(ptr_diff_bytes(nullptr, buf));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  151|  15.9k|    CHECK_THROWS(ptr_diff_bytes(buf, nullptr));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  152|  15.9k|    CHECK(ptr_diff(buf, buf) == 0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  153|  15.9k|    CHECK(ptr_diff(buf + 1, buf) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  154|  15.9k|    CHECK(ptr_diff(buf, buf + 1) == -1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  155|  15.9k|    CHECK(ptr_udiff(buf, buf) == 0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  156|  15.9k|    CHECK(ptr_udiff(buf + 1, buf) == 1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  157|  15.9k|    CHECK_THROWS(ptr_udiff(buf, buf + 1));
  ------------------
  |  | 2970|  15.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  15.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  15.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 15.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  15.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  15.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  15.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  15.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  15.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  15.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  15.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  15.9k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  15.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  158|  15.9k|    UNUSED(buf);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  159|  15.9k|}
util.cpp:_ZL18memswap_no_overlapPhS_m:
  327|  15.9k|static inline void memswap_no_overlap(byte *a, byte *b, size_t bytes) noexcept {
  328|       |#if defined(__clang__) && (__clang_major__ < 15) && !defined(__CHERI__)
  329|       |    // work around a clang < 15 ICE (Internal Compiler Error)
  330|       |    // @COMPILER_BUG @CLANG_BUG
  331|       |    upx_memswap(a, b, bytes);
  332|       |#else // clang bug
  333|  15.9k|    upx_alignas_max byte tmp_buf[16];
  ------------------
  |  |  160|  15.9k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
  334|  15.9k|#define SWAP(n)                                                                                    \
  335|  15.9k|    do {                                                                                           \
  336|  15.9k|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  337|  15.9k|        upx_memcpy_inline(a, b, n);                                                                \
  338|  15.9k|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  339|  15.9k|        a += n;                                                                                    \
  340|  15.9k|        b += n;                                                                                    \
  341|  15.9k|    } while (0)
  342|       |
  343|  31.8k|    for (; bytes >= 16; bytes -= 16)
  ------------------
  |  Branch (343:12): [True: 15.9k, False: 15.9k]
  ------------------
  344|  15.9k|        SWAP(16);
  ------------------
  |  |  335|  15.9k|    do {                                                                                           \
  |  |  336|  15.9k|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  337|  15.9k|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  338|  15.9k|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  405|  15.9k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  339|  15.9k|        a += n;                                                                                    \
  |  |  340|  15.9k|        b += n;                                                                                    \
  |  |  341|  15.9k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (341:14): [Folded, False: 15.9k]
  |  |  ------------------
  ------------------
  345|  15.9k|    if (bytes & 8)
  ------------------
  |  Branch (345:9): [True: 0, False: 15.9k]
  ------------------
  346|      0|        SWAP(8);
  ------------------
  |  |  335|      0|    do {                                                                                           \
  |  |  336|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  337|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  338|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  339|      0|        a += n;                                                                                    \
  |  |  340|      0|        b += n;                                                                                    \
  |  |  341|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (341:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  347|  15.9k|    if (bytes & 4)
  ------------------
  |  Branch (347:9): [True: 0, False: 15.9k]
  ------------------
  348|      0|        SWAP(4);
  ------------------
  |  |  335|      0|    do {                                                                                           \
  |  |  336|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  337|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  338|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  339|      0|        a += n;                                                                                    \
  |  |  340|      0|        b += n;                                                                                    \
  |  |  341|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (341:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  349|  15.9k|    if (bytes & 2)
  ------------------
  |  Branch (349:9): [True: 0, False: 15.9k]
  ------------------
  350|      0|        SWAP(2);
  ------------------
  |  |  335|      0|    do {                                                                                           \
  |  |  336|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  337|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  338|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  405|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  339|      0|        a += n;                                                                                    \
  |  |  340|      0|        b += n;                                                                                    \
  |  |  341|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (341:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  351|  15.9k|    if (bytes & 1) {
  ------------------
  |  Branch (351:9): [True: 0, False: 15.9k]
  ------------------
  352|      0|        byte tmp = *a;
  353|      0|        *a = *b;
  354|      0|        *b = tmp;
  355|      0|    }
  356|  15.9k|#undef SWAP
  357|  15.9k|#endif // clang bug
  358|  15.9k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  455|  15.9k|TEST_CASE("upx_memswap") {
  456|  15.9k|    auto check4 = [](int off1, int off2, int len, int a, int b, int c, int d) {
  457|  15.9k|        byte p[4] = {0, 1, 2, 3};
  458|  15.9k|        assert_noexcept(a + b + c + d == 0 + 1 + 2 + 3);
  459|  15.9k|        upx_memswap(p + off1, p + off2, len);
  460|  15.9k|        CHECK((p[0] == a && p[1] == b && p[2] == c && p[3] == d));
  461|  15.9k|    };
  462|       |    // identical
  463|  15.9k|    check4(0, 0, 4, 0, 1, 2, 3);
  464|       |    // non-overlapping
  465|  15.9k|    check4(0, 1, 1, 1, 0, 2, 3);
  466|  15.9k|    check4(1, 0, 1, 1, 0, 2, 3);
  467|  15.9k|    check4(0, 2, 2, 2, 3, 0, 1);
  468|  15.9k|    check4(2, 0, 2, 2, 3, 0, 1);
  469|       |    // overlapping
  470|  15.9k|    check4(0, 1, 2, 1, 2, 0, 3);
  471|  15.9k|    check4(1, 0, 2, 1, 2, 0, 3);
  472|  15.9k|    check4(0, 1, 3, 1, 2, 3, 0);
  473|  15.9k|    check4(1, 0, 3, 1, 2, 3, 0);
  474|       |
  475|       |    // pointer array
  476|  15.9k|    {
  477|  15.9k|        typedef byte element_type;
  478|  15.9k|        element_type a = 11, b = 22;
  479|  15.9k|        element_type *array[4];
  480|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  481|  15.9k|        memset(array, 0xfb, sizeof(array));
  482|  15.9k|        array[1] = &a;
  483|  15.9k|        array[3] = &b;
  484|  15.9k|        CHECK(*array[1] == 11);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  485|  15.9k|        CHECK(*array[3] == 22);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  486|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  487|       |        // TODO later: CHERI clang-14 bug/miscompilation with upx_memswap(); or
  488|       |        //   maybe caused by tagged-memory issues ???
  489|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  490|       |        memswap_no_overlap((byte *) array, (byte *) (array + 2), 2 * sizeof(array[0]));
  491|       |#else
  492|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  493|  15.9k|        upx_memswap(array, array + 2, 2 * sizeof(array[0]));
  494|  15.9k|#endif
  495|  15.9k|        CHECK(array[1] == &b);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  496|  15.9k|        CHECK(array[3] == &a);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  497|  15.9k|        CHECK(*array[1] == 22);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  498|  15.9k|        CHECK(*array[3] == 11);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  499|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  500|  15.9k|        memswap_no_overlap((byte *) array, (byte *) (array + 2), 2 * sizeof(array[0]));
  501|  15.9k|        CHECK(array[1] == &a);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  502|  15.9k|        CHECK(array[3] == &b);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  503|  15.9k|        CHECK(*array[1] == 11);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  504|  15.9k|        CHECK(*array[3] == 22);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  505|  15.9k|    }
  506|  15.9k|}
util.cpp:_ZZL19DOCTEST_ANON_FUNC_6vENK3$_0clEiiiiiii:
  456|   143k|    auto check4 = [](int off1, int off2, int len, int a, int b, int c, int d) {
  457|   143k|        byte p[4] = {0, 1, 2, 3};
  458|   143k|        assert_noexcept(a + b + c + d == 0 + 1 + 2 + 3);
  ------------------
  |  |  499|   143k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   287k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 143k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|      0|        upx_memswap(p + off1, p + off2, len);
  460|   143k|        CHECK((p[0] == a && p[1] == b && p[2] == c && p[3] == d));
  ------------------
  |  | 2968|   143k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   143k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   143k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   143k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   143k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   143k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   143k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   143k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   143k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   143k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   143k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   861k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 143k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 143k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 143k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 143k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2146|   143k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   143k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   143k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   143k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   143k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 143k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   143k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   143k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   143k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   143k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   143k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   143k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 143k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  461|   143k|    };
util.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
  637|  15.9k|TEST_CASE("find") {
  638|  15.9k|    CHECK(find(nullptr, -1, nullptr, -1) == -1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  639|  15.9k|    static const byte b[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
  640|  15.9k|    CHECK(find(b, 16, b, 0) == -1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  641|   271k|    for (int i = 0; i < 16; i++) {
  ------------------
  |  Branch (641:21): [True: 255k, False: 15.9k]
  ------------------
  642|   255k|        CHECK(find(b, 16, b + i, 1) == i);
  ------------------
  |  | 2968|   255k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   255k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   255k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   255k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   255k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   255k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   255k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   255k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   255k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   255k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   255k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   255k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   255k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   255k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   255k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   255k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  643|   255k|    }
  644|   271k|    for (int i = 1; i <= 16; i++) {
  ------------------
  |  Branch (644:21): [True: 255k, False: 15.9k]
  ------------------
  645|   255k|        CHECK(find(b, 16, b, i) == 0);
  ------------------
  |  | 2968|   255k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   255k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   255k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   255k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   255k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   255k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   255k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   255k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   255k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   255k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   255k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   255k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   255k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   255k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   255k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   255k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   255k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 255k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   255k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   255k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   255k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   255k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   255k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   255k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 255k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  646|   255k|    }
  647|  15.9k|    CHECK(find(b, 16, b, 17) == -1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  648|  15.9k|    CHECK(find_be16(b, 16, 0x0203) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  649|  15.9k|    CHECK(find_le16(b, 16, 0x0302) == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  650|  15.9k|    CHECK(find_be32(b, 16, 0x04050607) == 4);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  651|  15.9k|    CHECK(find_le32(b, 16, 0x07060504) == 4);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  652|  15.9k|    CHECK(find_be64(b, 16, 0x08090a0b0c0d0e0fULL) == 8);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  653|  15.9k|    CHECK(find_le64(b, 16, 0x0f0e0d0c0b0a0908ULL) == 8);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  654|  15.9k|    CHECK(find_be64(b, 15, 0x08090a0b0c0d0e0fULL) == -1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  655|  15.9k|    CHECK(find_le64(b, 15, 0x0f0e0d0c0b0a0908ULL) == -1);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  656|  15.9k|    UNUSED(b);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  657|  15.9k|}
util.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  676|  15.9k|TEST_CASE("mem_replace") {
  677|  15.9k|    char b[16 + 1] = "aaaaaaaaaaaaaaaa";
  678|  15.9k|    CHECK(mem_replace(b, 16, "a", 0, "x") == 0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  679|  15.9k|    CHECK(mem_replace(b, 16, "a", 1, "b") == 16);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  680|  15.9k|    CHECK(mem_replace(b, 8, "bb", 2, "cd") == 4);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  681|  15.9k|    CHECK(mem_replace(b + 8, 8, "bbb", 3, "efg") == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  682|  15.9k|    CHECK(mem_replace(b, 16, "b", 1, "h") == 2);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  683|  15.9k|    CHECK(strcmp(b, "cdcdcdcdefgefghh") == 0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  684|  15.9k|    UNUSED(b);
  ------------------
  |  |  252|  15.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  15.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  685|  15.9k|}
util.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
 1025|  15.9k|TEST_CASE("get_ratio") {
 1026|  15.9k|    CHECK(get_ratio(0, 0) == 0);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1027|  15.9k|    CHECK(get_ratio(0, 1) == 1000000);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1028|  15.9k|    CHECK(get_ratio(1, 0) == 50);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1029|  15.9k|    CHECK(get_ratio(1, 1) == 1000050);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1030|  15.9k|    CHECK(get_ratio(1, 9) == 9000050);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1031|  15.9k|    CHECK(get_ratio(1, 10) == 9999999);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1032|  15.9k|    CHECK(get_ratio(1, 11) == 9999999);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1033|  15.9k|    CHECK(get_ratio(100000, 100000) == 1000050);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1034|  15.9k|    CHECK(get_ratio(100000, 200000) == 2000050);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1035|  15.9k|    CHECK(get_ratio(UPX_RSIZE_MAX, UPX_RSIZE_MAX) == 1000050);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1036|  15.9k|    CHECK(get_ratio(2 * UPX_RSIZE_MAX, 2 * UPX_RSIZE_MAX) == 1000050);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1037|  15.9k|    CHECK(get_ratio(2 * UPX_RSIZE_MAX, 1024ull * UPX_RSIZE_MAX) == 9999999);
  ------------------
  |  | 2968|  15.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  15.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  15.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  15.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  15.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  15.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  15.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  15.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  15.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  15.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  15.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  15.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  15.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  15.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  15.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  15.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 15.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  15.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  15.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  15.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  15.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  15.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  15.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 15.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1038|  15.9k|}

_Z20mem_size_valid_bytesy:
   36|  1.64M|inline bool mem_size_valid_bytes(upx_uint64_t bytes) noexcept { return bytes <= UPX_RSIZE_MAX; }
  ------------------
  |  |  172|  1.64M|#define UPX_RSIZE_MAX     UPX_RSIZE_MAX_MEM
  |  |  ------------------
  |  |  |  |  173|  1.64M|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  |  |  ------------------
  ------------------
_Z8mem_sizeyy:
   53|  11.4M|inline upx_rsize_t mem_size(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   54|  11.4M|    upx_uint64_t bytes = element_size * n;
   55|  11.4M|    if very_unlikely (element_size == 0 || element_size > UPX_RSIZE_MAX || n > UPX_RSIZE_MAX ||
  ------------------
  |  |  248|  11.4M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  11.4M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  68.6M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 48.0k, False: 11.3M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 11.4M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 11.4M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 47.9k, False: 11.3M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 28, False: 11.3M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   56|  48.0k|                      bytes > UPX_RSIZE_MAX)
   57|  48.0k|        return mem_size(element_size, n, 0, 0); // this will throw
   58|  11.3M|    return ACC_ICONV(upx_rsize_t, bytes);
  ------------------
  |  | 1546|  11.3M|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  11.3M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   59|  11.4M|}
_Z14mem_size_get_nyy:
   62|  33.8k|inline upx_rsize_t mem_size_get_n(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   63|  33.8k|    (void) mem_size(element_size, n); // assert size
   64|  33.8k|    return ACC_ICONV(upx_rsize_t, n); // and return n
  ------------------
  |  | 1546|  33.8k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  33.8k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   65|  33.8k|}
_Z15mem_size_assertyy:
   68|   527k|inline void mem_size_assert(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   69|   527k|    (void) mem_size(element_size, n); // assert size
   70|   527k|}
_Z24mem_size_assert_noexceptyy:
   71|  31.8k|inline void mem_size_assert_noexcept(upx_uint64_t element_size, upx_uint64_t n) noexcept {
   72|  31.8k|    assert_noexcept(mem_size_valid(element_size, n)); // assert size
  ------------------
  |  |  499|  31.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   73|  31.8k|}
_Z15ptr_get_addressPKv:
  123|  38.8M|forceinline upx_ptraddr_t ptr_get_address(const void *p) noexcept { return (upx_uintptr_t) p; }
_Z12ptraddr_diffPKvS0_:
  127|  9.03M|forceinline upx_sptraddr_t ptraddr_diff(const void *a, const void *b) noexcept {
  128|  9.03M|    return ptr_get_address(a) - ptr_get_address(b);
  129|  9.03M|}
_Z14ptr_is_alignedPKvm:
  136|  47.8k|forceinline bool ptr_is_aligned(const void *p, size_t alignment) noexcept {
  137|  47.8k|    assert_noexcept(upx::has_single_bit(alignment));
  ------------------
  |  |  499|  47.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  95.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 47.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (499:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  138|      0|    return (ptr_get_address(p) & (alignment - 1)) == 0;
  139|  47.8k|}
_Z20ptr_check_no_overlapPKvmS0_m:
  179|      3|    may_throw {
  180|      3|    ptraddr_check_no_overlap(ptr_get_address(a), a_size, ptr_get_address(b), b_size);
  181|      3|}
_Z25ptr_invalidate_and_poisonIiEvRPT_:
  196|   111k|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  197|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  198|       |    // TODO later: examine __builtin_cheri_bounds_set()
  199|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  200|       |#else
  201|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  202|   111k|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  203|   111k|#endif
  204|   111k|}
_Z25ptr_invalidate_and_poisonIdEvRPT_:
  196|  15.9k|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  197|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  198|       |    // TODO later: examine __builtin_cheri_bounds_set()
  199|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  200|       |#else
  201|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  202|  15.9k|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  203|  15.9k|#endif
  204|  15.9k|}
_Z14ptr_is_alignedILm16EEbPKv:
  132|  31.8k|forceinline bool ptr_is_aligned(const void *p) noexcept {
  133|  31.8k|    static_assert(upx::has_single_bit(Alignment));
  134|  31.8k|    return (ptr_get_address(p) & (Alignment - 1)) == 0;
  135|  31.8k|}
_Z14ptr_align_downIKhEPT_S2_m:
  142|  31.8k|forceinline T *ptr_align_down(T *p, size_t alignment) noexcept {
  143|  31.8k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  144|  31.8k|    return upx::ptr_static_cast<T *>(upx::ptr_static_cast<CharPtr>(p) -
  145|  31.8k|                                     size_t(ptr_get_address(p) & (alignment - 1)));
  146|  31.8k|}
_Z12ptr_align_upIKhEPT_S2_m:
  148|  31.8k|forceinline T *ptr_align_up(T *p, size_t alignment) noexcept {
  149|  31.8k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  150|  31.8k|    return upx::ptr_static_cast<T *>(
  151|  31.8k|        upx::ptr_static_cast<CharPtr>(p) +
  152|  31.8k|        size_t((upx_ptraddr_t(0) - ptr_get_address(p)) & (alignment - 1)));
  153|  31.8k|}
_Z4NewTI4LE32EPT_y:
   77|  31.8k|inline T *NewT(upx_uint64_t n) may_throw {
   78|  31.8k|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   79|  31.8k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   80|  31.8k|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   81|  31.8k|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   82|  31.8k|    T *array = new T[size_t(n)];
   83|  31.8k|#if !defined(__SANITIZE_MEMORY__)
   84|  31.8k|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  245|  31.8k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  63.7k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|  31.8k|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   86|  31.8k|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|  31.8k|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|  31.8k|    __extension__                                                 \
  |  |  |  |  427|  31.8k|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|  31.8k|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|  31.8k|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|  31.8k|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|  31.8k|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|  31.8k|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|  31.8k|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|  31.8k|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|  31.8k|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|  31.8k|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|  31.8k|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|  31.8k|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|  31.8k|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|  31.8k|                     : "cc", "memory"                             \
  |  |  |  |  441|  31.8k|                    );                                            \
  |  |  |  |  442|  31.8k|    _zzq_result;                                                  \
  |  |  |  |  443|  31.8k|    })
  |  |  ------------------
  |  |  121|  31.8k|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|  31.8k|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   87|  31.8k|    }
   88|  31.8k|#endif
   89|  31.8k|    UNUSED(bytes);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   90|  31.8k|    return array;
   91|  31.8k|}
_Z4NewTI4BE32EPT_y:
   77|  31.8k|inline T *NewT(upx_uint64_t n) may_throw {
   78|  31.8k|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   79|  31.8k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   80|  31.8k|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  250|  31.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   81|  31.8k|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   82|  31.8k|    T *array = new T[size_t(n)];
   83|  31.8k|#if !defined(__SANITIZE_MEMORY__)
   84|  31.8k|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  245|  31.8k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  63.7k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 31.8k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 31.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|  31.8k|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   86|  31.8k|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|  31.8k|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|  31.8k|    __extension__                                                 \
  |  |  |  |  427|  31.8k|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|  31.8k|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|  31.8k|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|  31.8k|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|  31.8k|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|  31.8k|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|  31.8k|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|  31.8k|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|  31.8k|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|  31.8k|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|  31.8k|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|  31.8k|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|  31.8k|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|  31.8k|                     : "cc", "memory"                             \
  |  |  |  |  441|  31.8k|                    );                                            \
  |  |  |  |  442|  31.8k|    _zzq_result;                                                  \
  |  |  |  |  443|  31.8k|    })
  |  |  ------------------
  |  |  121|  31.8k|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|  31.8k|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   87|  31.8k|    }
   88|  31.8k|#endif
   89|  31.8k|    UNUSED(bytes);
  ------------------
  |  |  252|  31.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  31.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   90|  31.8k|    return array;
   91|  31.8k|}
_Z14ptr_align_downIhEPT_S1_m:
  142|  63.7k|forceinline T *ptr_align_down(T *p, size_t alignment) noexcept {
  143|  63.7k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  144|  63.7k|    return upx::ptr_static_cast<T *>(upx::ptr_static_cast<CharPtr>(p) -
  145|  63.7k|                                     size_t(ptr_get_address(p) & (alignment - 1)));
  146|  63.7k|}
_Z12ptr_align_upIhEPT_S1_m:
  148|  63.7k|forceinline T *ptr_align_up(T *p, size_t alignment) noexcept {
  149|  63.7k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  150|  63.7k|    return upx::ptr_static_cast<T *>(
  151|  63.7k|        upx::ptr_static_cast<CharPtr>(p) +
  152|  63.7k|        size_t((upx_ptraddr_t(0) - ptr_get_address(p)) & (alignment - 1)));
  153|  63.7k|}
_Z4NewTIN6LeFile23le_object_table_entry_tEEPT_y:
   77|    276|inline T *NewT(upx_uint64_t n) may_throw {
   78|    276|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  250|    276|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    276|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   79|    276|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  250|    276|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    276|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   80|    276|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  250|    276|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    276|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   81|    276|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   82|    276|    T *array = new T[size_t(n)];
   83|    276|#if !defined(__SANITIZE_MEMORY__)
   84|    276|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  245|    276|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    519|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 240, False: 36]
  |  |  |  |  |  Branch (2016:54): [True: 243, False: 33]
  |  |  |  |  |  Branch (2016:54): [True: 240, False: 3]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|    240|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   86|    240|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    240|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    240|    __extension__                                                 \
  |  |  |  |  427|    240|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    240|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    240|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    240|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    240|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    240|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    240|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    240|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    240|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    240|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    240|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    240|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    240|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    240|                     : "cc", "memory"                             \
  |  |  |  |  441|    240|                    );                                            \
  |  |  |  |  442|    240|    _zzq_result;                                                  \
  |  |  |  |  443|    240|    })
  |  |  ------------------
  |  |  121|    240|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    240|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   87|    240|    }
   88|    276|#endif
   89|    276|    UNUSED(bytes);
  ------------------
  |  |  252|    276|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    276|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   90|    276|    return array;
   91|    276|}
_Z4NewTIN6LeFile18le_pagemap_entry_tEEPT_y:
   77|    197|inline T *NewT(upx_uint64_t n) may_throw {
   78|    197|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  250|    197|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    197|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   79|    197|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  250|    197|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    197|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   80|    197|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  250|    197|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    197|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   81|    197|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   82|    197|    T *array = new T[size_t(n)];
   83|    197|#if !defined(__SANITIZE_MEMORY__)
   84|    197|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  245|    197|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    394|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 197, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 197, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 197, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|    197|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   86|    197|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    197|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    197|    __extension__                                                 \
  |  |  |  |  427|    197|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    197|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    197|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    197|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    197|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    197|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    197|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    197|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    197|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    197|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    197|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    197|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    197|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    197|                     : "cc", "memory"                             \
  |  |  |  |  441|    197|                    );                                            \
  |  |  |  |  442|    197|    _zzq_result;                                                  \
  |  |  |  |  443|    197|    })
  |  |  ------------------
  |  |  121|    197|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    197|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   87|    197|    }
   88|    197|#endif
   89|    197|    UNUSED(bytes);
  ------------------
  |  |  252|    197|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    197|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   90|    197|    return array;
   91|    197|}
_Z4NewTIhEPT_y:
   77|    512|inline T *NewT(upx_uint64_t n) may_throw {
   78|    512|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  250|    512|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    512|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   79|    512|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  250|    512|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    512|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   80|    512|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  250|    512|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    512|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   81|    512|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   82|    512|    T *array = new T[size_t(n)];
   83|    512|#if !defined(__SANITIZE_MEMORY__)
   84|    512|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  245|    512|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    973|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 278, False: 234]
  |  |  |  |  |  Branch (2016:54): [True: 461, False: 51]
  |  |  |  |  |  Branch (2016:54): [True: 278, False: 183]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|    278|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   86|    278|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    278|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    278|    __extension__                                                 \
  |  |  |  |  427|    278|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    278|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    278|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    278|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    278|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    278|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    278|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    278|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    278|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    278|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    278|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    278|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    278|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    278|                     : "cc", "memory"                             \
  |  |  |  |  441|    278|                    );                                            \
  |  |  |  |  442|    278|    _zzq_result;                                                  \
  |  |  |  |  443|    278|    })
  |  |  ------------------
  |  |  121|    278|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    278|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   87|    278|    }
   88|    512|#endif
   89|    512|    UNUSED(bytes);
  ------------------
  |  |  252|    512|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    512|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   90|    512|    return array;
   91|    512|}
_Z4NewTIjEPT_y:
   77|    114|inline T *NewT(upx_uint64_t n) may_throw {
   78|    114|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  250|    114|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    114|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   79|    114|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  250|    114|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    114|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   80|    114|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  250|    114|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    114|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   81|    114|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   82|    114|    T *array = new T[size_t(n)];
   83|    114|#if !defined(__SANITIZE_MEMORY__)
   84|    114|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  245|    114|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    228|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 114, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 114, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 114, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|    114|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   86|    114|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    114|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    114|    __extension__                                                 \
  |  |  |  |  427|    114|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    114|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    114|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    114|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    114|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    114|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    114|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    114|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    114|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    114|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    114|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    114|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    114|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    114|                     : "cc", "memory"                             \
  |  |  |  |  441|    114|                    );                                            \
  |  |  |  |  442|    114|    _zzq_result;                                                  \
  |  |  |  |  443|    114|    })
  |  |  ------------------
  |  |  121|    114|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    114|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   87|    114|    }
   88|    114|#endif
   89|    114|    UNUSED(bytes);
  ------------------
  |  |  252|    114|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    114|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   90|    114|    return array;
   91|    114|}
_Z25ptr_invalidate_and_poisonIhEvRPT_:
  196|      6|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  197|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  198|       |    // TODO later: examine __builtin_cheri_bounds_set()
  199|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  200|       |#else
  201|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  202|      6|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  203|      6|#endif
  204|      6|}
_Z25ptr_invalidate_and_poisonIN6PeFile5Reloc9BaseRelocEEvRPT_:
  196|      3|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  197|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  198|       |    // TODO later: examine __builtin_cheri_bounds_set()
  199|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  200|       |#else
  201|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  202|      3|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  203|      3|#endif
  204|      3|}
_Z25ptr_invalidate_and_poisonI4LE16EvRPT_:
  196|      3|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  197|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  198|       |    // TODO later: examine __builtin_cheri_bounds_set()
  199|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  200|       |#else
  201|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  202|      3|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  203|      3|#endif
  204|      3|}
_Z5New0TIPN6PeFile8Resource9upx_rnodeEEPT_y:
   99|    131|inline T *New0T(upx_uint64_t n) may_throw {
  100|    131|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  250|    131|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    131|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  101|    131|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  250|    131|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    131|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  102|    131|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  250|    131|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    131|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  103|    131|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
  104|    131|    T *array = new T[size_t(n)];
  105|    131|    if likely (array != nullptr && bytes > 0)
  ------------------
  |  |  245|    131|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    262|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 131, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 131, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 131, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  106|    131|        memset(array, 0, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
  107|    131|    return array;
  108|    131|}
_Z8ptr_diffIhhENSt3__19enable_ifIXaaeqstT_Li1EeqstT0_Li1EEiE4typeEPKS2_PKS3_:
  163|  47.8k|ptr_diff(const T *a, const U *b) may_throw {
  164|  47.8k|    return ptr_diff_bytes(a, b);
  165|  47.8k|}
_Z9ptr_udiffIhhENSt3__19enable_ifIXaaeqstT_Li1EeqstT0_Li1EEjE4typeEPKS2_PKS3_:
  168|  47.8k|ptr_udiff(const T *a, const U *b) may_throw {
  169|  47.8k|    return ptr_udiff_bytes(a, b);
  170|  47.8k|}

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

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

_ZN5XSpan14XSpanDebugFile4makeEPKcm:
   63|  1.73M|    static forceinline_constexpr XSpanDebugFile make(const char *f, size_t l) noexcept {
   64|  1.73M|        return XSpanDebugFile(f, l);
   65|  1.73M|    }
_ZN5XSpan14XSpanDebugFileC2Ev:
   66|  3.83M|    forceinline_constexpr XSpanDebugFile() noexcept : src_file(nullptr), src_line(0) {}
_ZN5XSpan14XSpanDebugFileC2EPKcm:
   68|  1.73M|    explicit forceinline_constexpr XSpanDebugFile(const char *f, size_t l) noexcept : src_file(f),
   69|  1.73M|                                                                                      src_line(l) {}
_ZN5XSpan16XSpanSizeInBytesC2Em:
   96|  1.09M|    explicit forceinline_constexpr XSpanSizeInBytes(size_t bytes) noexcept : size_in_bytes(bytes) {}
_ZN5XSpan21XSpanInternalDummyArgC2EONS0_9DummyEnumE:
  269|   823k|    explicit forceinline_constexpr XSpanInternalDummyArg(DummyEnum &&) noexcept {}
dt_cxxlib.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  138|   956k|static forceinline size_t xspan_mem_size(size_t n) {
  139|   956k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|   956k|}
dt_cxxlib.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  127|   956k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|   956k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|   956k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|   956k|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  138|  4.32M|static forceinline size_t xspan_mem_size(size_t n) {
  139|  4.32M|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  4.32M|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  127|  4.32M|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  4.32M|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  4.32M|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  4.32M|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeIKcEEmm:
  138|  63.7k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  63.7k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  63.7k|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implIKcEEmm:
  127|  63.7k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  63.7k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  63.7k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  63.7k|}
dt_xspan.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIcEEvl:
  143|  4.06M|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  4.06M|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 4.06M, False: 0]
  ------------------
  145|  4.06M|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  4.06M|}
dt_xspan.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffItEEvl:
  143|  95.6k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  95.6k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 95.6k, False: 0]
  ------------------
  145|  95.6k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  95.6k|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeItEEmm:
  138|  95.6k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  95.6k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  95.6k|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implItEEmm:
  127|  95.6k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  95.6k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  95.6k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  95.6k|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  138|    221|static forceinline size_t xspan_mem_size(size_t n) {
  139|    221|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|    221|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  127|    221|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|    221|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|    221|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|    221|}
lefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  143|  65.0k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  65.0k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 65.0k, False: 0]
  ------------------
  145|  65.0k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  65.0k|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  138|  65.0k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  65.0k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  65.0k|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  127|  65.0k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  65.0k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  65.0k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  65.0k|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  138|  86.5k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  86.5k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  86.5k|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  127|  86.5k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  86.5k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  86.5k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  86.5k|}
lefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  143|  86.5k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  86.5k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 86.5k, False: 0]
  ------------------
  145|  86.5k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  86.5k|}
p_com.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  138|   101k|static forceinline size_t xspan_mem_size(size_t n) {
  139|   101k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|   101k|}
p_com.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  127|   101k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|   101k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|   101k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|   101k|}
p_djgpp2.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  138|  3.88k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  3.88k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  3.88k|}
p_djgpp2.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  127|  3.88k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  3.88k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  3.88k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  3.88k|}
p_exe.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  143|  83.5k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  83.5k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 83.5k, False: 0]
  ------------------
  145|  83.5k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  83.5k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  138|  83.5k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  83.5k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  83.5k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  127|  83.5k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  83.5k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  83.5k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  83.5k|}
p_exe.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  143|   550k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|   550k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 550k, False: 0]
  ------------------
  145|   550k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|   550k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  138|   550k|static forceinline size_t xspan_mem_size(size_t n) {
  139|   550k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|   550k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  127|   550k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|   550k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|   550k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|   550k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  138|  32.6k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  32.6k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  32.6k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  127|  32.6k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  32.6k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  32.6k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  32.6k|}
packer.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  138|  39.3k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  39.3k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  39.3k|}
packer.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  127|  39.3k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  39.3k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  39.3k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  39.3k|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  143|  64.9k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  64.9k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 64.9k, False: 0]
  ------------------
  145|  64.9k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  64.9k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  138|  64.9k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  64.9k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  64.9k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  127|  64.9k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  64.9k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  64.9k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  64.9k|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  143|  2.75k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  2.75k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 2.75k, False: 0]
  ------------------
  145|  2.75k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  2.75k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  138|  2.75k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  2.75k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  2.75k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  127|  2.75k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  2.75k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  2.75k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  2.75k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  138|      3|static forceinline size_t xspan_mem_size(size_t n) {
  139|      3|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|      3|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  127|      3|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|      3|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|      3|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|      3|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE32EEvl:
  143|  32.4k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  32.4k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 32.4k, False: 0]
  ------------------
  145|  32.4k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  32.4k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE32EEmm:
  138|  32.4k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  32.4k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  32.4k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE32EEmm:
  127|  32.4k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  32.4k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  32.4k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  32.4k|}
packhead.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  143|   211k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|   211k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 211k, False: 0]
  ------------------
  145|   211k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|   211k|}
packhead.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  138|   211k|static forceinline size_t xspan_mem_size(size_t n) {
  139|   211k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|   211k|}
packhead.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  127|   211k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|   211k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|   211k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|   211k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  143|  32.7k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  32.7k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 32.7k, False: 0]
  ------------------
  145|  32.7k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  32.7k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  138|  32.7k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  32.7k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  32.7k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  127|  32.7k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  32.7k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  32.7k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  32.7k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  143|  50.5k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  50.5k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 50.5k, False: 0]
  ------------------
  145|  50.5k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  50.5k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  138|  50.6k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  50.6k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  50.6k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  127|  50.6k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  50.6k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  50.6k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  50.6k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE16EEvl:
  143|  32.4k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  32.4k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 32.4k, False: 0]
  ------------------
  145|  32.4k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  32.4k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE16EEmm:
  138|  32.4k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  32.4k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  32.4k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE16EEmm:
  127|  32.4k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  32.4k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  32.4k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  32.4k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIN6PeFile12pe_section_tEEEvl:
  143|  1.82k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  1.82k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 1.82k, False: 0]
  ------------------
  145|  1.82k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  1.82k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIN6PeFile12pe_section_tEEEmm:
  138|  1.82k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  1.82k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  1.82k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIN6PeFile12pe_section_tEEEmm:
  127|  1.82k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  1.82k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  1.82k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  1.82k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  138|    857|static forceinline size_t xspan_mem_size(size_t n) {
  139|    857|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|    857|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  127|    857|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|    857|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|    857|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|    857|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE32EEvl:
  143|  7.99k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|  7.99k|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 7.99k, False: 0]
  ------------------
  145|  7.99k|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|  7.99k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE32EEmm:
  138|  7.99k|static forceinline size_t xspan_mem_size(size_t n) {
  139|  7.99k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|  7.99k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE32EEmm:
  127|  7.99k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|  7.99k|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|  7.99k|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|  7.99k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIN6PeFile11import_descEEEvl:
  143|    233|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|    233|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 233, False: 0]
  ------------------
  145|    233|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|    233|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIN6PeFile11import_descEEEmm:
  138|    233|static forceinline size_t xspan_mem_size(size_t n) {
  139|    233|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|    233|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIN6PeFile11import_descEEEmm:
  127|    233|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|    233|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|    233|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|    233|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE64EEvl:
  143|    465|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  144|    465|    if (n >= 0)
  ------------------
  |  Branch (144:9): [True: 465, False: 0]
  ------------------
  145|    465|        (void) xspan_mem_size<T>((size_t) n);
  146|      0|    else
  147|      0|        (void) xspan_mem_size<T>((size_t) -n);
  148|    465|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE64EEmm:
  138|    465|static forceinline size_t xspan_mem_size(size_t n) {
  139|    465|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  140|    465|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE64EEmm:
  127|    465|static forceinline size_t xspan_mem_size_impl(size_t n) {
  128|    465|#ifdef UPX_VERSION_HEX
  129|       |    // check for overflow and sane limits
  130|    465|    return mem_size(sizeof(T), n);
  131|       |#else
  132|       |    return sizeof(T) * n;
  133|       |#endif
  134|    465|}

_ZN5XSpan15PtrOrSpanOrNullIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  147|   239k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   239k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|   239k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|   239k|        assertInvariants();
  150|   239k|    }
_ZN5XSpan15PtrOrSpanOrNullIiE7makePtrEPi:
   88|   239k|    static inline pointer makePtr(pointer p) {
   89|   239k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   239k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 239k]
  |  |  |  Branch (1558:47): [Folded, False: 239k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   239k|        return p;
   92|   239k|    }
_ZN5XSpan15PtrOrSpanOrNullIiE8makeBaseEPi:
   93|   239k|    static inline pointer makeBase(pointer b) {
   94|   239k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   239k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 239k]
  |  |  |  Branch (1558:47): [Folded, False: 239k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   239k|        return b;
   97|   239k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE16assertInvariantsEv:
   79|   526k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiEeqEPi:
  398|   127k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIiED2Ev:
  120|   366k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiE9ensurePtrEv:
   99|  63.7k|    inline pointer ensurePtr() const {
  100|  63.7k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 63.7k]
  |  |  |  Branch (1558:47): [True: 63.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 63.7k]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  63.7k|        return ptr;
  103|  63.7k|    }
_ZNK5XSpan9PtrOrSpanIiE16assertInvariantsEv:
   79|   478k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIiEeqEPi:
  398|   127k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIiED2Ev:
  120|   302k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiE10ensureBaseEv:
  104|  31.8k|    inline pointer ensureBase() const {
  105|  31.8k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  31.8k|        return base;
  108|  31.8k|    }
_ZNK5XSpan4SpanIiE16assertInvariantsEv:
   79|   478k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIiEeqEPi:
  398|   127k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIiED2Ev:
  120|   302k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  147|   239k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   239k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|   239k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|   239k|        assertInvariants();
  150|   239k|    }
_ZN5XSpan9PtrOrSpanIiE7makePtrEPi:
   88|   239k|    static inline pointer makePtr(pointer p) {
   89|   239k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   478k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 239k]
  |  |  |  Branch (1558:47): [True: 239k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 239k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   239k|        return p;
   92|   239k|    }
_ZN5XSpan9PtrOrSpanIiE8makeBaseEPi:
   93|   239k|    static inline pointer makeBase(pointer b) {
   94|   239k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   239k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 239k]
  |  |  |  Branch (1558:47): [Folded, False: 239k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   239k|        return b;
   97|   239k|    }
_ZNK5XSpan9PtrOrSpanIiE9ensurePtrEv:
   99|  31.8k|    inline pointer ensurePtr() const {
  100|  31.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  31.8k|        return ptr;
  103|  31.8k|    }
_ZNK5XSpan9PtrOrSpanIiE10ensureBaseEv:
  104|  31.8k|    inline pointer ensureBase() const {
  105|  31.8k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  31.8k|        return base;
  108|  31.8k|    }
_ZN5XSpan4SpanIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  147|   239k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   239k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|   239k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|   239k|        assertInvariants();
  150|   239k|    }
_ZN5XSpan4SpanIiE7makePtrEPi:
   88|   239k|    static inline pointer makePtr(pointer p) {
   89|   239k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   478k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 239k]
  |  |  |  Branch (1558:47): [True: 239k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 239k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   239k|        return p;
   92|   239k|    }
_ZN5XSpan4SpanIiE8makeBaseEPi:
   93|   239k|    static inline pointer makeBase(pointer b) {
   94|   239k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   478k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 239k]
  |  |  |  Branch (1558:47): [True: 239k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 239k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   239k|        return b;
   97|   239k|    }
_ZNK5XSpan4SpanIiE9ensurePtrEv:
   99|  31.8k|    inline pointer ensurePtr() const {
  100|  31.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  31.8k|        return ptr;
  103|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE9type_castI4LE32EENS0_IT_EEv:
  387|  31.8k|    CSelf<U> type_cast() const {
  388|  31.8k|        typedef CSelf<U> R;
  389|  31.8k|        typedef typename R::pointer rpointer;
  390|  31.8k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  31.8k|                upx::ptr_static_cast<rpointer>(base));
  392|  31.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  31.8k|        r.f = f;
  394|  31.8k|#endif
  395|  31.8k|        return r;
  396|  31.8k|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  269|  31.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  31.8k|        assertInvariants();
  271|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE32E16assertInvariantsEv:
   79|  31.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullI4LE32EeqEPS1_:
  398|  31.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullI4LE32ED2Ev:
  120|  31.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIiE9type_castI4LE32EENS0_IT_EEv:
  387|  31.8k|    CSelf<U> type_cast() const {
  388|  31.8k|        typedef CSelf<U> R;
  389|  31.8k|        typedef typename R::pointer rpointer;
  390|  31.8k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  31.8k|                upx::ptr_static_cast<rpointer>(base));
  392|  31.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  31.8k|        r.f = f;
  394|  31.8k|#endif
  395|  31.8k|        return r;
  396|  31.8k|    }
_ZN5XSpan9PtrOrSpanI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  269|  31.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  31.8k|        assertInvariants();
  271|  31.8k|    }
_ZNK5XSpan9PtrOrSpanI4LE32E16assertInvariantsEv:
   79|  31.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanI4LE32EeqEPS1_:
  398|  31.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanI4LE32ED2Ev:
  120|  31.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIiE9type_castI4LE32EENS0_IT_EEv:
  387|  31.8k|    CSelf<U> type_cast() const {
  388|  31.8k|        typedef CSelf<U> R;
  389|  31.8k|        typedef typename R::pointer rpointer;
  390|  31.8k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  31.8k|                upx::ptr_static_cast<rpointer>(base));
  392|  31.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  31.8k|        r.f = f;
  394|  31.8k|#endif
  395|  31.8k|        return r;
  396|  31.8k|    }
_ZN5XSpan4SpanI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  269|  31.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  31.8k|        assertInvariants();
  271|  31.8k|    }
_ZNK5XSpan4SpanI4LE32E16assertInvariantsEv:
   79|   153k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanI4LE32EeqEPS1_:
  398|  31.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanI4LE32ED2Ev:
  120|  64.5k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIiE10invalidateEv:
  122|  31.8k|    noinline void invalidate() {
  123|  31.8k|        assertInvariants();
  124|  31.8k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|  31.8k|        base = ptr;                     // point to non-null invalid address
  126|  31.8k|        size_in_bytes = 0;
  127|  31.8k|        assertInvariants();
  128|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiEneEPi:
  404|  47.8k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan9PtrOrSpanIiE10invalidateEv:
  122|  31.8k|    noinline void invalidate() {
  123|  31.8k|        assertInvariants();
  124|  31.8k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|  31.8k|        base = ptr;                     // point to non-null invalid address
  126|  31.8k|        size_in_bytes = 0;
  127|  31.8k|        assertInvariants();
  128|  31.8k|    }
_ZNK5XSpan9PtrOrSpanIiEneEPi:
  404|  31.8k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan4SpanIiE10invalidateEv:
  122|  31.8k|    noinline void invalidate() {
  123|  31.8k|        assertInvariants();
  124|  31.8k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|  31.8k|        base = ptr;                     // point to non-null invalid address
  126|  31.8k|        size_in_bytes = 0;
  127|  31.8k|        assertInvariants();
  128|  31.8k|    }
_ZNK5XSpan4SpanIiEneEPi:
  404|  31.8k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZNK5XSpan15PtrOrSpanOrNullIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  358|  47.8k|    operator-(const CSelf<U> &other) const {
  359|  47.8k|        assertInvariants();
  360|  47.8k|        other.assertInvariants();
  361|  47.8k|        return check_ptrdiff(ptr, other.ptr);
  362|  47.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE13check_ptrdiffEPiS2_:
  546|  47.8k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  547|  47.8k|        assertInvariants();
  548|  47.8k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  248|  47.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  47.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 15.9k, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 15.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  549|      0|            xspan_fail_nullptr();
  550|  47.8k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  248|  47.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  47.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  79.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 47.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 31.8k, False: 15.9k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      0|            xspan_fail_nullptr();
  552|  47.8k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (552:13): [True: 31.8k, False: 15.9k]
  |  Branch (552:29): [True: 31.8k, False: 0]
  ------------------
  553|  31.8k|            (void) ptr_diff_bytes(a, b);
  554|  47.8k|        return a - b;
  555|  47.8k|    }
_ZNK5XSpan9PtrOrSpanIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  358|  31.8k|    operator-(const CSelf<U> &other) const {
  359|  31.8k|        assertInvariants();
  360|  31.8k|        other.assertInvariants();
  361|  31.8k|        return check_ptrdiff(ptr, other.ptr);
  362|  31.8k|    }
_ZNK5XSpan9PtrOrSpanIiE13check_ptrdiffEPiS2_:
  546|  31.8k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  547|  31.8k|        assertInvariants();
  548|  31.8k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  248|  31.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  31.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  31.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  549|      0|            xspan_fail_nullptr();
  550|  31.8k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  248|  31.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  31.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 31.8k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      0|            xspan_fail_nullptr();
  552|  31.8k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (552:13): [True: 31.8k, False: 0]
  |  Branch (552:29): [True: 31.8k, False: 0]
  ------------------
  553|  31.8k|            (void) ptr_diff_bytes(a, b);
  554|  31.8k|        return a - b;
  555|  31.8k|    }
_ZNK5XSpan4SpanIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  358|  31.8k|    operator-(const CSelf<U> &other) const {
  359|  31.8k|        assertInvariants();
  360|  31.8k|        other.assertInvariants();
  361|  31.8k|        return check_ptrdiff(ptr, other.ptr);
  362|  31.8k|    }
_ZNK5XSpan4SpanIiE13check_ptrdiffEPiS2_:
  546|  31.8k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  547|  31.8k|        assertInvariants();
  548|  31.8k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  248|  31.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  31.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  31.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  549|      0|            xspan_fail_nullptr();
  550|  31.8k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  248|  31.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  31.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 31.8k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      0|            xspan_fail_nullptr();
  552|  31.8k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (552:13): [True: 31.8k, False: 0]
  |  Branch (552:29): [True: 31.8k, False: 0]
  ------------------
  553|  31.8k|            (void) ptr_diff_bytes(a, b);
  554|  31.8k|        return a - b;
  555|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueElE4typeERKNS0_IS6_EE:
  358|  15.9k|    operator-(const CSelf<U> &other) const {
  359|  15.9k|        assertInvariants();
  360|  15.9k|        other.assertInvariants();
  361|  15.9k|        return check_ptrdiff(ptr, other.ptr);
  362|  15.9k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKiE16assertInvariantsEv:
   79|  95.6k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKiE13check_ptrdiffEPS1_S3_:
  546|  31.8k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  547|  31.8k|        assertInvariants();
  548|  31.8k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  248|  31.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  31.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 31.8k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  549|      0|            xspan_fail_nullptr();
  550|  31.8k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  248|  31.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  31.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  31.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 31.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      0|            xspan_fail_nullptr();
  552|  31.8k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (552:13): [True: 0, False: 31.8k]
  |  Branch (552:29): [True: 0, False: 0]
  ------------------
  553|      0|            (void) ptr_diff_bytes(a, b);
  554|  31.8k|        return a - b;
  555|  31.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIKiED2Ev:
  120|  47.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKiEmiIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueElE4typeERKNS0_IS6_EE:
  358|  15.9k|    operator-(const CSelf<U> &other) const {
  359|  15.9k|        assertInvariants();
  360|  15.9k|        other.assertInvariants();
  361|  15.9k|        return check_ptrdiff(ptr, other.ptr);
  362|  15.9k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE9type_castIK4LE32EENS0_IT_EEv:
  387|  15.9k|    CSelf<U> type_cast() const {
  388|  15.9k|        typedef CSelf<U> R;
  389|  15.9k|        typedef typename R::pointer rpointer;
  390|  15.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  15.9k|                upx::ptr_static_cast<rpointer>(base));
  392|  15.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  15.9k|        r.f = f;
  394|  15.9k|#endif
  395|  15.9k|        return r;
  396|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  269|  31.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  31.8k|        assertInvariants();
  271|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIK4LE32E16assertInvariantsEv:
   79|  31.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIK4LE32EeqEPS2_:
  398|  31.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIK4LE32ED2Ev:
  120|  31.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIiE9type_castIK4LE32EENS0_IT_EEv:
  387|  15.9k|    CSelf<U> type_cast() const {
  388|  15.9k|        typedef CSelf<U> R;
  389|  15.9k|        typedef typename R::pointer rpointer;
  390|  15.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  15.9k|                upx::ptr_static_cast<rpointer>(base));
  392|  15.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  15.9k|        r.f = f;
  394|  15.9k|#endif
  395|  15.9k|        return r;
  396|  15.9k|    }
_ZN5XSpan9PtrOrSpanIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  269|  31.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  31.8k|        assertInvariants();
  271|  31.8k|    }
_ZNK5XSpan9PtrOrSpanIK4LE32E16assertInvariantsEv:
   79|  31.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIK4LE32EeqEPS2_:
  398|  31.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIK4LE32ED2Ev:
  120|  31.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIiE9type_castIK4LE32EENS0_IT_EEv:
  387|  15.9k|    CSelf<U> type_cast() const {
  388|  15.9k|        typedef CSelf<U> R;
  389|  15.9k|        typedef typename R::pointer rpointer;
  390|  15.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  15.9k|                upx::ptr_static_cast<rpointer>(base));
  392|  15.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  15.9k|        r.f = f;
  394|  15.9k|#endif
  395|  15.9k|        return r;
  396|  15.9k|    }
_ZN5XSpan4SpanIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  269|  31.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  31.8k|        assertInvariants();
  271|  31.8k|    }
_ZNK5XSpan4SpanIK4LE32E16assertInvariantsEv:
   79|  31.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIK4LE32EeqEPS2_:
  398|  31.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIK4LE32ED2Ev:
  120|  31.8k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  147|  79.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  79.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|  79.7k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|  79.7k|        assertInvariants();
  150|  79.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhE7makePtrEPS1_:
   88|  79.7k|    static inline pointer makePtr(pointer p) {
   89|  79.7k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  79.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  79.7k|        return p;
   92|  79.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhE8makeBaseEPS1_:
   93|  79.7k|    static inline pointer makeBase(pointer b) {
   94|  79.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  79.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  79.7k|        return b;
   97|  79.7k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKhE16assertInvariantsEv:
   79|   111k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhEeqEPS1_:
  398|  63.7k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIKhED2Ev:
  120|   111k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE9ensurePtrEv:
   99|  31.8k|    inline pointer ensurePtr() const {
  100|  31.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  31.8k|        return ptr;
  103|  31.8k|    }
_ZNK5XSpan9PtrOrSpanIKhE16assertInvariantsEv:
   79|   303k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIKhEeqEPS1_:
  398|  63.7k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIKhED2Ev:
  120|   206k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE10ensureBaseEv:
  104|  15.9k|    inline pointer ensureBase() const {
  105|  15.9k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 15.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  15.9k|        return base;
  108|  15.9k|    }
_ZNK5XSpan4SpanIKhE16assertInvariantsEv:
   79|  2.57M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIKhEeqEPS1_:
  398|  63.7k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIKhED2Ev:
  120|   861k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  147|  79.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  79.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|  79.7k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|  79.7k|        assertInvariants();
  150|  79.7k|    }
_ZN5XSpan9PtrOrSpanIKhE7makePtrEPS1_:
   88|   111k|    static inline pointer makePtr(pointer p) {
   89|   111k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   222k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 111k]
  |  |  |  Branch (1558:47): [True: 111k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 111k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   111k|        return p;
   92|   111k|    }
_ZN5XSpan9PtrOrSpanIKhE8makeBaseEPS1_:
   93|  83.4k|    static inline pointer makeBase(pointer b) {
   94|  83.4k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  83.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 83.4k]
  |  |  |  Branch (1558:47): [Folded, False: 83.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  83.4k|        return b;
   97|  83.4k|    }
_ZNK5XSpan9PtrOrSpanIKhE9ensurePtrEv:
   99|  47.3k|    inline pointer ensurePtr() const {
  100|  47.3k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  47.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 47.3k]
  |  |  |  Branch (1558:47): [Folded, False: 47.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  47.3k|        return ptr;
  103|  47.3k|    }
_ZNK5XSpan9PtrOrSpanIKhE10ensureBaseEv:
  104|  15.9k|    inline pointer ensureBase() const {
  105|  15.9k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 15.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 15.9k]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  15.9k|        return base;
  108|  15.9k|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  147|  79.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  79.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|  79.7k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|  79.7k|        assertInvariants();
  150|  79.7k|    }
_ZN5XSpan4SpanIKhE7makePtrEPS1_:
   88|   119k|    static inline pointer makePtr(pointer p) {
   89|   119k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   238k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 119k]
  |  |  |  Branch (1558:47): [True: 119k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 119k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   119k|        return p;
   92|   119k|    }
_ZN5XSpan4SpanIKhE8makeBaseEPS1_:
   93|   119k|    static inline pointer makeBase(pointer b) {
   94|   119k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   238k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 119k]
  |  |  |  Branch (1558:47): [True: 119k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 119k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   119k|        return b;
   97|   119k|    }
_ZNK5XSpan4SpanIKhE9ensurePtrEv:
   99|   602k|    inline pointer ensurePtr() const {
  100|   602k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   602k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 602k]
  |  |  |  Branch (1558:47): [Folded, False: 602k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   602k|        return ptr;
  103|   602k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKhE9type_castIK4LE32EENS0_IT_EEv:
  387|  15.9k|    CSelf<U> type_cast() const {
  388|  15.9k|        typedef CSelf<U> R;
  389|  15.9k|        typedef typename R::pointer rpointer;
  390|  15.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  15.9k|                upx::ptr_static_cast<rpointer>(base));
  392|  15.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  15.9k|        r.f = f;
  394|  15.9k|#endif
  395|  15.9k|        return r;
  396|  15.9k|    }
_ZNK5XSpan9PtrOrSpanIKhE9type_castIK4LE32EENS0_IT_EEv:
  387|  15.9k|    CSelf<U> type_cast() const {
  388|  15.9k|        typedef CSelf<U> R;
  389|  15.9k|        typedef typename R::pointer rpointer;
  390|  15.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  15.9k|                upx::ptr_static_cast<rpointer>(base));
  392|  15.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  15.9k|        r.f = f;
  394|  15.9k|#endif
  395|  15.9k|        return r;
  396|  15.9k|    }
_ZNK5XSpan4SpanIKhE9type_castIK4LE32EENS0_IT_EEv:
  387|  15.9k|    CSelf<U> type_cast() const {
  388|  15.9k|        typedef CSelf<U> R;
  389|  15.9k|        typedef typename R::pointer rpointer;
  390|  15.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  15.9k|                upx::ptr_static_cast<rpointer>(base));
  392|  15.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  15.9k|        r.f = f;
  394|  15.9k|#endif
  395|  15.9k|        return r;
  396|  15.9k|    }
_ZNK5XSpan4SpanI4LE32E9ensurePtrEv:
   99|  32.4k|    inline pointer ensurePtr() const {
  100|  32.4k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  32.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  32.4k|        return ptr;
  103|  32.4k|    }
_ZNK5XSpan4SpanI4LE32E10ensureBaseEv:
  104|  32.4k|    inline pointer ensureBase() const {
  105|  32.4k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  32.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  32.4k|        return base;
  108|  32.4k|    }
_ZNK5XSpan4SpanIKhE10ensureBaseEv:
  104|   586k|    inline pointer ensureBase() const {
  105|   586k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|   586k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 586k]
  |  |  |  Branch (1558:47): [Folded, False: 586k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|   586k|        return base;
  108|   586k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE16assertInvariantsEv:
   79|  2.85M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIcE7makePtrEPc:
   88|   127k|    static inline pointer makePtr(pointer p) {
   89|   127k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 127k]
  |  |  |  Branch (1558:47): [True: 127k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 127k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   127k|        return p;
   92|   127k|    }
_ZNK5XSpan9PtrOrSpanIcE16assertInvariantsEv:
   79|  2.79M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  159|  79.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  79.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  160|  79.7k|          size_in_bytes(xspan_mem_size<T>(count)) {
  161|  79.7k|        assertInvariants();
  162|  79.7k|    }
_ZN5XSpan4SpanIcE7makePtrEPc:
   88|  95.6k|    static inline pointer makePtr(pointer p) {
   89|  95.6k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 95.6k]
  |  |  |  Branch (1558:47): [True: 95.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 95.6k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  95.6k|        return p;
   92|  95.6k|    }
_ZN5XSpan4SpanIcE8makeBaseEPc:
   93|  95.6k|    static inline pointer makeBase(pointer b) {
   94|  95.6k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 95.6k]
  |  |  |  Branch (1558:47): [True: 95.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 95.6k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  95.6k|        return b;
   97|  95.6k|    }
_ZNK5XSpan4SpanIcE16assertInvariantsEv:
   79|  2.79M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKcE16assertInvariantsEv:
   79|  95.6k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIKcE7makePtrEPS1_:
   88|  31.8k|    static inline pointer makePtr(pointer p) {
   89|  31.8k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  31.8k|        return p;
   92|  31.8k|    }
_ZNK5XSpan9PtrOrSpanIKcE16assertInvariantsEv:
   79|  63.7k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  159|  31.8k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  31.8k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  160|  31.8k|          size_in_bytes(xspan_mem_size<T>(count)) {
  161|  31.8k|        assertInvariants();
  162|  31.8k|    }
_ZN5XSpan4SpanIKcE7makePtrEPS1_:
   88|  31.8k|    static inline pointer makePtr(pointer p) {
   89|  31.8k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  31.8k|        return p;
   92|  31.8k|    }
_ZN5XSpan4SpanIKcE8makeBaseEPS1_:
   93|  31.8k|    static inline pointer makeBase(pointer b) {
   94|  31.8k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  31.8k|        return b;
   97|  31.8k|    }
_ZNK5XSpan4SpanIKcE16assertInvariantsEv:
   79|  31.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIKcE9ensurePtrEv:
   99|  31.8k|    inline pointer ensurePtr() const {
  100|  31.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  31.8k|        return ptr;
  103|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqEPc:
  398|  31.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  418|  31.8k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  419|  31.8k|        return ptr == other.ptr;
  420|  31.8k|    }
_ZNK5XSpan9PtrOrSpanIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  413|  31.8k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  414|  31.8k|        return ptr == other.ptr;
  415|  31.8k|    }
_ZNK5XSpan4SpanIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_9PtrOrSpanIS5_EE:
  413|  31.8k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  414|  31.8k|        return ptr == other.ptr;
  415|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKcEeqIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueEbE4typeERKNS0_IS6_EE:
  418|  31.8k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  419|  31.8k|        return ptr == other.ptr;
  420|  31.8k|    }
_ZNK5XSpan9PtrOrSpanIKcEeqIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueEbE4typeERKNS_15PtrOrSpanOrNullIS6_EE:
  418|  31.8k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  419|  31.8k|        return ptr == other.ptr;
  420|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9raw_bytesEm:
  566|   255k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|   255k|        assertInvariants();
  568|   255k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 95.6k, False: 159k]
  ------------------
  569|  95.6k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   191k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 31.8k, False: 63.7k]
  |  |  |  Branch (1558:47): [True: 95.6k, Folded]
  |  |  |  Branch (1558:47): [True: 31.8k, False: 63.7k]
  |  |  ------------------
  ------------------
  570|  31.8k|                xspan_fail_nullptr();
  571|  63.7k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 31.8k, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 63.7k]
  |  |  |  Branch (1558:47): [True: 31.8k, False: 31.8k]
  |  |  ------------------
  ------------------
  572|  31.8k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|  63.7k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|  63.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  63.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 63.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|  63.7k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|  63.7k|        }
  577|   223k|        return ptr;
  578|   255k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE7raw_ptrEv:
  562|  63.7k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan9PtrOrSpanIcE9raw_bytesEm:
  566|   191k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|   191k|        assertInvariants();
  568|   191k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 63.7k, False: 127k]
  ------------------
  569|  63.7k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 63.7k]
  |  |  |  Branch (1558:47): [Folded, False: 63.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|  63.7k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 31.8k, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 63.7k]
  |  |  |  Branch (1558:47): [True: 31.8k, False: 31.8k]
  |  |  ------------------
  ------------------
  572|  31.8k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|  63.7k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|  63.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  63.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 63.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|  63.7k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|  63.7k|        }
  577|   191k|        return ptr;
  578|   191k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE17raw_size_in_bytesEv:
  564|  31.8k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan9PtrOrSpanIcE17raw_size_in_bytesEv:
  564|  31.8k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan4SpanIcE9raw_bytesEm:
  566|   223k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|   223k|        assertInvariants();
  568|   223k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 127k, False: 95.6k]
  ------------------
  569|   127k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 127k]
  |  |  |  Branch (1558:47): [Folded, False: 127k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|   127k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 127k, Folded]
  |  |  |  Branch (1558:47): [True: 127k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|   127k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|   127k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|   127k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   127k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   127k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 127k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|   127k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|   127k|        }
  577|   223k|        return ptr;
  578|   223k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEplEl:
  500|   589k|    Self operator+(ptrdiff_t n) const {
  501|   589k|        pointer first = check_add(ptr, n);
  502|   589k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|   589k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|   589k|        r.f = f;
  505|   589k|#endif
  506|   589k|        return r;
  507|   589k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9check_addEPcl:
  536|  1.10M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  1.10M|        assertInvariants();
  538|  1.10M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  2.20M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 1.10M]
  |  |  |  Branch (1558:47): [True: 1.10M, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 1.10M]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  1.10M|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  1.10M|        p += n;
  542|  1.10M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  2.20M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.08M, False: 15.9k]
  |  |  |  Branch (1558:47): [Folded, False: 1.10M]
  |  |  |  Branch (1558:47): [True: 1.08M, False: 15.9k]
  |  |  ------------------
  ------------------
  543|  1.08M|            xspan_check_range(p, base, size_in_bytes);
  544|  1.10M|        return p;
  545|  1.10M|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ENS1_13ModeUncheckedEPcmS3_:
  269|   589k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|   589k|        assertInvariants();
  271|   589k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9type_castItEENS0_IT_EEv:
  387|  63.7k|    CSelf<U> type_cast() const {
  388|  63.7k|        typedef CSelf<U> R;
  389|  63.7k|        typedef typename R::pointer rpointer;
  390|  63.7k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  63.7k|                upx::ptr_static_cast<rpointer>(base));
  392|  63.7k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  63.7k|        r.f = f;
  394|  63.7k|#endif
  395|  63.7k|        return r;
  396|  63.7k|    }
_ZN5XSpan15PtrOrSpanOrNullItEC2ENS1_13ModeUncheckedEPtmS3_:
  269|  95.6k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  95.6k|        assertInvariants();
  271|  95.6k|    }
_ZNK5XSpan15PtrOrSpanOrNullItE16assertInvariantsEv:
   79|   255k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIcED2Ev:
  120|   797k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIcEplEl:
  500|   589k|    Self operator+(ptrdiff_t n) const {
  501|   589k|        pointer first = check_add(ptr, n);
  502|   589k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|   589k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|   589k|        r.f = f;
  505|   589k|#endif
  506|   589k|        return r;
  507|   589k|    }
_ZNK5XSpan9PtrOrSpanIcE9check_addEPcl:
  536|  1.10M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  1.10M|        assertInvariants();
  538|  1.10M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.10M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 1.10M]
  |  |  |  Branch (1558:47): [Folded, False: 1.10M]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  1.10M|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  1.10M|        p += n;
  542|  1.10M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  2.20M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.08M, False: 15.9k]
  |  |  |  Branch (1558:47): [Folded, False: 1.10M]
  |  |  |  Branch (1558:47): [True: 1.08M, False: 15.9k]
  |  |  ------------------
  ------------------
  543|  1.08M|            xspan_check_range(p, base, size_in_bytes);
  544|  1.10M|        return p;
  545|  1.10M|    }
_ZN5XSpan9PtrOrSpanIcEC2ENS1_13ModeUncheckedEPcmS3_:
  269|   589k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|   589k|        assertInvariants();
  271|   589k|    }
_ZNK5XSpan9PtrOrSpanIcE9type_castItEENS0_IT_EEv:
  387|  63.7k|    CSelf<U> type_cast() const {
  388|  63.7k|        typedef CSelf<U> R;
  389|  63.7k|        typedef typename R::pointer rpointer;
  390|  63.7k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  63.7k|                upx::ptr_static_cast<rpointer>(base));
  392|  63.7k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  63.7k|        r.f = f;
  394|  63.7k|#endif
  395|  63.7k|        return r;
  396|  63.7k|    }
_ZN5XSpan9PtrOrSpanItEC2ENS1_13ModeUncheckedEPtmS3_:
  269|  95.6k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  95.6k|        assertInvariants();
  271|  95.6k|    }
_ZNK5XSpan9PtrOrSpanItE16assertInvariantsEv:
   79|   255k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIcED2Ev:
  120|   733k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIcEplEl:
  500|   589k|    Self operator+(ptrdiff_t n) const {
  501|   589k|        pointer first = check_add(ptr, n);
  502|   589k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|   589k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|   589k|        r.f = f;
  505|   589k|#endif
  506|   589k|        return r;
  507|   589k|    }
_ZNK5XSpan4SpanIcE9check_addEPcl:
  536|  1.10M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  1.10M|        assertInvariants();
  538|  1.10M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.10M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 1.10M]
  |  |  |  Branch (1558:47): [Folded, False: 1.10M]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  1.10M|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  1.10M|        p += n;
  542|  1.10M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.10M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.10M, Folded]
  |  |  |  Branch (1558:47): [True: 1.10M, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|  1.10M|            xspan_check_range(p, base, size_in_bytes);
  544|  1.10M|        return p;
  545|  1.10M|    }
_ZN5XSpan4SpanIcEC2ENS1_13ModeUncheckedEPcmS3_:
  269|   589k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|   589k|        assertInvariants();
  271|   589k|    }
_ZNK5XSpan4SpanIcE9type_castItEENS0_IT_EEv:
  387|  63.7k|    CSelf<U> type_cast() const {
  388|  63.7k|        typedef CSelf<U> R;
  389|  63.7k|        typedef typename R::pointer rpointer;
  390|  63.7k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|  63.7k|                upx::ptr_static_cast<rpointer>(base));
  392|  63.7k|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|  63.7k|        r.f = f;
  394|  63.7k|#endif
  395|  63.7k|        return r;
  396|  63.7k|    }
_ZN5XSpan4SpanItEC2ENS1_13ModeUncheckedEPtmS3_:
  269|  95.6k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  95.6k|        assertInvariants();
  271|  95.6k|    }
_ZNK5XSpan4SpanItE16assertInvariantsEv:
   79|   255k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIcED2Ev:
  120|   701k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullItE9raw_bytesEm:
  566|  95.6k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|  95.6k|        assertInvariants();
  568|  95.6k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 0, False: 95.6k]
  ------------------
  569|      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]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|      0|        }
  577|  95.6k|        return ptr;
  578|  95.6k|    }
_ZNK5XSpan9PtrOrSpanItE9raw_bytesEm:
  566|  95.6k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|  95.6k|        assertInvariants();
  568|  95.6k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 0, False: 95.6k]
  ------------------
  569|      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]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|      0|        }
  577|  95.6k|        return ptr;
  578|  95.6k|    }
_ZNK5XSpan4SpanItE9raw_bytesEm:
  566|  95.6k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|  95.6k|        assertInvariants();
  568|  95.6k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 0, False: 95.6k]
  ------------------
  569|      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]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|      0|        }
  577|  95.6k|        return ptr;
  578|  95.6k|    }
_ZNK5XSpan15PtrOrSpanOrNullItEplEl:
  500|  31.8k|    Self operator+(ptrdiff_t n) const {
  501|  31.8k|        pointer first = check_add(ptr, n);
  502|  31.8k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|  31.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|  31.8k|        r.f = f;
  505|  31.8k|#endif
  506|  31.8k|        return r;
  507|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullItE9check_addEPtl:
  536|  31.8k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  31.8k|        assertInvariants();
  538|  31.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 31.8k]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  31.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  31.8k|        p += n;
  542|  31.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 15.9k, False: 15.9k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 15.9k, False: 15.9k]
  |  |  ------------------
  ------------------
  543|  15.9k|            xspan_check_range(p, base, size_in_bytes);
  544|  31.8k|        return p;
  545|  31.8k|    }
_ZN5XSpan15PtrOrSpanOrNullItED2Ev:
  120|   127k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanItEplEl:
  500|  31.8k|    Self operator+(ptrdiff_t n) const {
  501|  31.8k|        pointer first = check_add(ptr, n);
  502|  31.8k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|  31.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|  31.8k|        r.f = f;
  505|  31.8k|#endif
  506|  31.8k|        return r;
  507|  31.8k|    }
_ZNK5XSpan9PtrOrSpanItE9check_addEPtl:
  536|  31.8k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  31.8k|        assertInvariants();
  538|  31.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  31.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  31.8k|        p += n;
  542|  31.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  63.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 15.9k, False: 15.9k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 15.9k, False: 15.9k]
  |  |  ------------------
  ------------------
  543|  15.9k|            xspan_check_range(p, base, size_in_bytes);
  544|  31.8k|        return p;
  545|  31.8k|    }
_ZN5XSpan9PtrOrSpanItED2Ev:
  120|   127k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanItEplEl:
  500|  31.8k|    Self operator+(ptrdiff_t n) const {
  501|  31.8k|        pointer first = check_add(ptr, n);
  502|  31.8k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|  31.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|  31.8k|        r.f = f;
  505|  31.8k|#endif
  506|  31.8k|        return r;
  507|  31.8k|    }
_ZNK5XSpan4SpanItE9check_addEPtl:
  536|  31.8k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  31.8k|        assertInvariants();
  538|  31.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  31.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  31.8k|        p += n;
  542|  31.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 31.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|  31.8k|            xspan_check_range(p, base, size_in_bytes);
  544|  31.8k|        return p;
  545|  31.8k|    }
_ZN5XSpan4SpanItED2Ev:
  120|   127k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  418|  31.8k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  419|  31.8k|        return ptr == other.ptr;
  420|  31.8k|    }
_ZNK5XSpan9PtrOrSpanItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  413|  31.8k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  414|  31.8k|        return ptr == other.ptr;
  415|  31.8k|    }
_ZNK5XSpan4SpanItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  423|  31.8k|    operator==(const Span<U> &other) const noexcept {
  424|  31.8k|        return ptr == other.ptr;
  425|  31.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcED2Ev:
  120|  95.6k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKcED2Ev:
  120|  63.7k|forceinline ~CSelf() noexcept {}
_ZN5XSpan4SpanIKcED2Ev:
  120|  31.8k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  159|  63.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  63.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  160|  63.7k|          size_in_bytes(xspan_mem_size<T>(count)) {
  161|  63.7k|        assertInvariants();
  162|  63.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIcE7makePtrEPc:
   88|  79.7k|    static inline pointer makePtr(pointer p) {
   89|  79.7k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  79.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  79.7k|        return p;
   92|  79.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIcE8makeBaseEPc:
   93|  79.7k|    static inline pointer makeBase(pointer b) {
   94|  79.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  79.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  79.7k|        return b;
   97|  79.7k|    }
_ZN5XSpan9PtrOrSpanIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  159|  63.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  63.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  160|  63.7k|          size_in_bytes(xspan_mem_size<T>(count)) {
  161|  63.7k|        assertInvariants();
  162|  63.7k|    }
_ZN5XSpan9PtrOrSpanIcE8makeBaseEPc:
   93|  79.7k|    static inline pointer makeBase(pointer b) {
   94|  79.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  79.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [Folded, False: 79.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  79.7k|        return b;
   97|  79.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  216|  15.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  217|  15.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  218|       |        // check invariants
  219|  15.9k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  95.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 15.9k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  ------------------
  ------------------
  220|  15.9k|                      (configRequireBase || base != nullptr))
  221|  15.9k|            xspan_check_range(ptr, base, size_in_bytes);
  222|       |        // double sanity check
  223|  15.9k|        assertInvariants();
  224|  15.9k|    }
_ZN5XSpan9PtrOrSpanIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  216|  15.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  217|  15.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  218|       |        // check invariants
  219|  15.9k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  79.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 15.9k, False: 0]
  |  |  |  Branch (1558:47): [True: 15.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 15.9k, False: 0]
  |  |  ------------------
  ------------------
  220|  15.9k|                      (configRequireBase || base != nullptr))
  221|  15.9k|            xspan_check_range(ptr, base, size_in_bytes);
  222|       |        // double sanity check
  223|  15.9k|        assertInvariants();
  224|  15.9k|    }
_ZN5XSpan4SpanIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  216|  15.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  217|  15.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  218|       |        // check invariants
  219|  15.9k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 15.9k, Folded]
  |  |  |  Branch (1558:47): [True: 15.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  220|  15.9k|                      (configRequireBase || base != nullptr))
  221|  15.9k|            xspan_check_range(ptr, base, size_in_bytes);
  222|       |        // double sanity check
  223|  15.9k|        assertInvariants();
  224|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  159|  15.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  160|  15.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  161|  15.9k|        assertInvariants();
  162|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcE7makePtrEPS1_:
   88|  15.9k|    static inline pointer makePtr(pointer p) {
   89|  15.9k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  15.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  15.9k|        return p;
   92|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcE8makeBaseEPS1_:
   93|  15.9k|    static inline pointer makeBase(pointer b) {
   94|  15.9k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  15.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  15.9k|        return b;
   97|  15.9k|    }
_ZN5XSpan9PtrOrSpanIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  159|  15.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  160|  15.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  161|  15.9k|        assertInvariants();
  162|  15.9k|    }
_ZN5XSpan9PtrOrSpanIKcE8makeBaseEPS1_:
   93|  15.9k|    static inline pointer makeBase(pointer b) {
   94|  15.9k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  15.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  15.9k|        return b;
   97|  15.9k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_9PtrOrSpanIS5_EE:
  413|  31.8k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  414|  31.8k|        return ptr == other.ptr;
  415|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_4SpanIS5_EE:
  423|  15.9k|    operator==(const Span<U> &other) const noexcept {
  424|  15.9k|        return ptr == other.ptr;
  425|  15.9k|    }
_ZNK5XSpan9PtrOrSpanItE9ensurePtrEv:
   99|  31.8k|    inline pointer ensurePtr() const {
  100|  31.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  31.8k|        return ptr;
  103|  31.8k|    }
_ZNK5XSpan4SpanItE9ensurePtrEv:
   99|  31.8k|    inline pointer ensurePtr() const {
  100|  31.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  31.8k|        return ptr;
  103|  31.8k|    }
_ZNK5XSpan4SpanItE10ensureBaseEv:
  104|  31.8k|    inline pointer ensureBase() const {
  105|  31.8k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  31.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [Folded, False: 31.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  31.8k|        return base;
  108|  31.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEixEl:
  467|   255k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan15PtrOrSpanOrNullIcE11check_derefEPcl:
  526|   255k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  527|   255k|        assertInvariants();
  528|   255k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 255k]
  |  |  |  Branch (1558:47): [True: 255k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 255k]
  |  |  ------------------
  ------------------
  529|      0|            xspan_fail_nullptr();
  530|   255k|        xspan_mem_size_assert_ptrdiff<T>(n);
  531|   255k|        p += n;
  532|   255k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 255k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 255k]
  |  |  |  Branch (1558:47): [True: 255k, False: 0]
  |  |  ------------------
  ------------------
  533|   255k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  534|   255k|        return p;
  535|   255k|    }
_ZNK5XSpan9PtrOrSpanIcEixEl:
  467|   255k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIcE11check_derefEPcl:
  526|   255k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  527|   255k|        assertInvariants();
  528|   255k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 255k]
  |  |  |  Branch (1558:47): [Folded, False: 255k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|      0|            xspan_fail_nullptr();
  530|   255k|        xspan_mem_size_assert_ptrdiff<T>(n);
  531|   255k|        p += n;
  532|   255k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 255k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 255k]
  |  |  |  Branch (1558:47): [True: 255k, False: 0]
  |  |  ------------------
  ------------------
  533|   255k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  534|   255k|        return p;
  535|   255k|    }
_ZNK5XSpan4SpanIcEixEl:
  467|   255k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIcE11check_derefEPcl:
  526|   255k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  527|   255k|        assertInvariants();
  528|   255k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 255k]
  |  |  |  Branch (1558:47): [Folded, False: 255k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|      0|            xspan_fail_nullptr();
  530|   255k|        xspan_mem_size_assert_ptrdiff<T>(n);
  531|   255k|        p += n;
  532|   255k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   255k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 255k, Folded]
  |  |  |  Branch (1558:47): [True: 255k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|   255k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  534|   255k|        return p;
  535|   255k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  434|   271k|    operator!=(const PtrOrSpanOrNull<U> &other) const noexcept {
  435|   271k|        return ptr != other.ptr;
  436|   271k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEdeEv:
  464|   510k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullIcE11check_derefEPc:
  518|   510k|    pointer check_deref(pointer p) const may_throw {
  519|   510k|        assertInvariants();
  520|   510k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 510k]
  |  |  |  Branch (1558:47): [True: 510k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 510k]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|   510k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 510k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 510k]
  |  |  |  Branch (1558:47): [True: 510k, False: 0]
  |  |  ------------------
  ------------------
  523|   510k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|   510k|        return p;
  525|   510k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEppEv:
  472|   510k|    Self &operator++() {
  473|   510k|        ptr = check_add(ptr, 1);
  474|   510k|        return *this;
  475|   510k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  454|   271k|    operator<(const PtrOrSpanOrNull<U> &other) const {
  455|   271k|        return ensurePtr() < other.ensurePtr();
  456|   271k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9ensurePtrEv:
   99|   542k|    inline pointer ensurePtr() const {
  100|   542k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  1.08M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 542k]
  |  |  |  Branch (1558:47): [True: 542k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 542k]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   542k|        return ptr;
  103|   542k|    }
_ZNK5XSpan9PtrOrSpanIcE9ensurePtrEv:
   99|   558k|    inline pointer ensurePtr() const {
  100|   558k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   558k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 558k]
  |  |  |  Branch (1558:47): [Folded, False: 558k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   558k|        return ptr;
  103|   558k|    }
_ZNK5XSpan9PtrOrSpanIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  429|   271k|    operator!=(const PtrOrSpan<U> &other) const noexcept {
  430|   271k|        return ptr != other.ptr;
  431|   271k|    }
_ZNK5XSpan9PtrOrSpanIcEdeEv:
  464|   510k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan9PtrOrSpanIcE11check_derefEPc:
  518|   510k|    pointer check_deref(pointer p) const may_throw {
  519|   510k|        assertInvariants();
  520|   510k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 510k]
  |  |  |  Branch (1558:47): [Folded, False: 510k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|   510k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 510k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 510k]
  |  |  |  Branch (1558:47): [True: 510k, False: 0]
  |  |  ------------------
  ------------------
  523|   510k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|   510k|        return p;
  525|   510k|    }
_ZN5XSpan9PtrOrSpanIcEppEv:
  472|   510k|    Self &operator++() {
  473|   510k|        ptr = check_add(ptr, 1);
  474|   510k|        return *this;
  475|   510k|    }
_ZNK5XSpan9PtrOrSpanIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  449|   271k|    operator<(const PtrOrSpan<U> &other) const {
  450|   271k|        return ensurePtr() < other.ensurePtr();
  451|   271k|    }
_ZNK5XSpan4SpanIcE9ensurePtrEv:
   99|   558k|    inline pointer ensurePtr() const {
  100|   558k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   558k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 558k]
  |  |  |  Branch (1558:47): [Folded, False: 558k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   558k|        return ptr;
  103|   558k|    }
_ZNK5XSpan4SpanIcE10ensureBaseEv:
  104|  15.9k|    inline pointer ensureBase() const {
  105|  15.9k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  15.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [Folded, False: 15.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  15.9k|        return base;
  108|  15.9k|    }
_ZNK5XSpan4SpanIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  439|   271k|    operator!=(const Span<U> &other) const noexcept {
  440|   271k|        return ptr != other.ptr;
  441|   271k|    }
_ZNK5XSpan4SpanIcEdeEv:
  464|   510k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIcE11check_derefEPc:
  518|   510k|    pointer check_deref(pointer p) const may_throw {
  519|   510k|        assertInvariants();
  520|   510k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 510k]
  |  |  |  Branch (1558:47): [Folded, False: 510k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|   510k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   510k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 510k, Folded]
  |  |  |  Branch (1558:47): [True: 510k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|   510k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|   510k|        return p;
  525|   510k|    }
_ZN5XSpan4SpanIcEppEv:
  472|   510k|    Self &operator++() {
  473|   510k|        ptr = check_add(ptr, 1);
  474|   510k|        return *this;
  475|   510k|    }
_ZNK5XSpan4SpanIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  459|   271k|    operator<(const Span<U> &other) const {
  460|   271k|        return ensurePtr() < other.ensurePtr();
  461|   271k|    }
_ZNK5XSpan9PtrOrSpanIvE7raw_ptrEv:
  562|   654k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan9PtrOrSpanIvE17raw_size_in_bytesEv:
  564|   654k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan9PtrOrSpanIvE8raw_baseEv:
  563|   654k|    pointer raw_base() const noexcept { return base; }
_ZNK5XSpan9PtrOrSpanIvE9raw_bytesEm:
  566|   654k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|   654k|        assertInvariants();
  568|   654k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 653k, False: 495]
  ------------------
  569|   653k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   653k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 653k]
  |  |  |  Branch (1558:47): [Folded, False: 653k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|   653k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.30M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 67.8k, False: 585k]
  |  |  |  Branch (1558:47): [Folded, False: 653k]
  |  |  |  Branch (1558:47): [True: 67.8k, False: 585k]
  |  |  ------------------
  ------------------
  572|  67.8k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|   653k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|   653k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   653k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   653k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 653k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|   653k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|   653k|        }
  577|   654k|        return ptr;
  578|   654k|    }
_ZNK5XSpan9PtrOrSpanIvE16assertInvariantsEv:
   79|  1.95M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIvE9ensurePtrEv:
   99|   644k|    inline pointer ensurePtr() const {
  100|   644k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   644k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 644k]
  |  |  |  Branch (1558:47): [Folded, False: 644k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   644k|        return ptr;
  103|   644k|    }
_ZN5XSpan9PtrOrSpanIvED2Ev:
  120|  1.29M|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKvE7raw_ptrEv:
  562|  32.5k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE17raw_size_in_bytesEv:
  564|  32.5k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE8raw_baseEv:
  563|  32.5k|    pointer raw_base() const noexcept { return base; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE9raw_bytesEm:
  566|  32.5k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|  32.5k|        assertInvariants();
  568|  32.5k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 32.5k, False: 0]
  ------------------
  569|  32.5k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  65.0k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.5k]
  |  |  |  Branch (1558:47): [True: 32.5k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.5k]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|  32.5k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  65.0k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 25.3k, False: 7.18k]
  |  |  |  Branch (1558:47): [Folded, False: 32.5k]
  |  |  |  Branch (1558:47): [True: 25.3k, False: 7.18k]
  |  |  ------------------
  ------------------
  572|  25.3k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|  32.5k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|  32.5k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  32.5k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  32.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 32.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|  32.5k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|  32.5k|        }
  577|  32.5k|        return ptr;
  578|  32.5k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKvE16assertInvariantsEv:
   79|  65.1k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIKvED2Ev:
  120|  32.5k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIhE9raw_bytesEm:
  566|  58.4k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|  58.4k|        assertInvariants();
  568|  58.4k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 25.9k, False: 32.4k]
  ------------------
  569|  25.9k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  51.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 25.9k]
  |  |  |  Branch (1558:47): [True: 25.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 25.9k]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|  25.9k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  51.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3.69k, False: 22.2k]
  |  |  |  Branch (1558:47): [Folded, False: 25.9k]
  |  |  |  Branch (1558:47): [True: 3.69k, False: 22.2k]
  |  |  ------------------
  ------------------
  572|  3.69k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|  25.9k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|  25.9k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  25.9k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  25.9k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 25.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|  25.9k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|  25.9k|        }
  577|  58.4k|        return ptr;
  578|  58.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE16assertInvariantsEv:
   79|   215k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhED2Ev:
  120|   425k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIvE7makePtrEPv:
   88|   653k|    static inline pointer makePtr(pointer p) {
   89|   653k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.30M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 653k]
  |  |  |  Branch (1558:47): [True: 653k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 653k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   653k|        return p;
   92|   653k|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileER9MemBuffer:
  232|    221|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    221|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   50|    221|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  233|    221|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIhE11makeNotNullEPh:
   82|  32.7k|    static inline pointer makeNotNull(pointer p) {
   83|  32.7k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|  32.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  32.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  32.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 32.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  32.7k|        return p;
   86|  32.7k|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesE:
  147|    221|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|    221|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|    221|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|    221|        assertInvariants();
  150|    221|    }
_ZN5XSpan4SpanIhE7makePtrEPh:
   88|  32.9k|    static inline pointer makePtr(pointer p) {
   89|  32.9k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  65.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.9k]
  |  |  |  Branch (1558:47): [True: 32.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.9k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  32.9k|        return p;
   92|  32.9k|    }
_ZN5XSpan4SpanIhE8makeBaseEPh:
   93|  32.7k|    static inline pointer makeBase(pointer b) {
   94|  32.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  65.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.7k]
  |  |  |  Branch (1558:47): [True: 32.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.7k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  32.7k|        return b;
   97|  32.7k|    }
_ZNK5XSpan4SpanIhE16assertInvariantsEv:
   79|   349k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIhED2Ev:
  120|   116k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhE6assignERKS1_:
  308|    131|    Self &assign(const Self &other) {
  309|    131|        assertInvariants();
  310|    131|        other.assertInvariants();
  311|    131|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|    262|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 131, False: 0]
  |  |  |  Branch (1558:47): [True: 131, Folded]
  |  |  |  Branch (1558:47): [True: 131, False: 0]
  |  |  ------------------
  ------------------
  312|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  313|    131|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|    786|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 131, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 131]
  |  |  |  Branch (1558:47): [True: 131, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 131]
  |  |  |  Branch (1558:47): [True: 131, False: 0]
  |  |  ------------------
  ------------------
  314|    131|                          (configRequireBase || other.base != nullptr))
  315|    131|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  316|       |            // ok
  317|    131|            ptr = other.ptr;
  318|    131|            base = other.base;
  319|    131|            size_in_bytes = other.size_in_bytes;
  320|    131|        } else {
  321|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  322|      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]
  |  |  ------------------
  ------------------
  323|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|      0|                    xspan_fail_not_same_base();
  325|      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]
  |  |  ------------------
  ------------------
  326|      0|                          (configRequireBase || base != nullptr))
  327|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  328|       |            // ok
  329|      0|            ptr = other.ptr;
  330|      0|        }
  331|    131|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  332|    131|        if (f.src_file == nullptr)
  ------------------
  |  Branch (332:13): [True: 131, False: 0]
  ------------------
  333|    131|            f = other.f;
  334|    131|#endif
  335|    131|        assertInvariants();
  336|    131|        return *this;
  337|    131|    }
_ZNK5XSpan15PtrOrSpanOrNullIhEplEl:
  500|  65.0k|    Self operator+(ptrdiff_t n) const {
  501|  65.0k|        pointer first = check_add(ptr, n);
  502|  65.0k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|  65.0k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|  65.0k|        r.f = f;
  505|  65.0k|#endif
  506|  65.0k|        return r;
  507|  65.0k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9check_addEPhl:
  536|  65.0k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  65.0k|        assertInvariants();
  538|  65.0k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   130k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 65.0k]
  |  |  |  Branch (1558:47): [True: 65.0k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 65.0k]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  65.0k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  65.0k|        p += n;
  542|  65.0k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   130k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 65.0k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 65.0k]
  |  |  |  Branch (1558:47): [True: 65.0k, False: 0]
  |  |  ------------------
  ------------------
  543|  65.0k|            xspan_check_range(p, base, size_in_bytes);
  544|  65.0k|        return p;
  545|  65.0k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2ENS1_13ModeUncheckedEPhmS3_:
  269|  65.0k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  65.0k|        assertInvariants();
  271|  65.0k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9ensurePtrEv:
   99|  65.0k|    inline pointer ensurePtr() const {
  100|  65.0k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   130k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 65.0k]
  |  |  |  Branch (1558:47): [True: 65.0k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 65.0k]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  65.0k|        return ptr;
  103|  65.0k|    }
_ZNK5XSpan4SpanIKhE9raw_bytesEm:
  566|   196k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|   196k|        assertInvariants();
  568|   196k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 196k, False: 103]
  ------------------
  569|   196k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   196k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 196k]
  |  |  |  Branch (1558:47): [Folded, False: 196k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|   196k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   196k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 196k, Folded]
  |  |  |  Branch (1558:47): [True: 196k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|   196k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|   196k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|   196k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   196k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   196k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 196k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|   196k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|   196k|        }
  577|   196k|        return ptr;
  578|   196k|    }
_ZNK5XSpan4SpanIKhEixEl:
  467|   150k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIKhE11check_derefEPS1_l:
  526|   150k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  527|   150k|        assertInvariants();
  528|   150k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   150k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 150k]
  |  |  |  Branch (1558:47): [Folded, False: 150k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|      0|            xspan_fail_nullptr();
  530|   150k|        xspan_mem_size_assert_ptrdiff<T>(n);
  531|   150k|        p += n;
  532|   150k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   150k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 150k, Folded]
  |  |  |  Branch (1558:47): [True: 150k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|   150k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  534|   150k|        return p;
  535|   150k|    }
_ZNK5XSpan4SpanIKhEdeEv:
  464|   650k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIKhE11check_derefEPS1_:
  518|   650k|    pointer check_deref(pointer p) const may_throw {
  519|   650k|        assertInvariants();
  520|   650k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   650k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 650k]
  |  |  |  Branch (1558:47): [Folded, False: 650k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|   650k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   650k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 650k, Folded]
  |  |  |  Branch (1558:47): [True: 650k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|   650k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|   650k|        return p;
  525|   650k|    }
_ZN5XSpan4SpanIKhEpLEl:
  491|  36.7k|    Self &operator+=(ptrdiff_t n) {
  492|  36.7k|        ptr = check_add(ptr, n);
  493|  36.7k|        return *this;
  494|  36.7k|    }
_ZNK5XSpan4SpanIKhE9check_addEPS1_l:
  536|   718k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|   718k|        assertInvariants();
  538|   718k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   718k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 718k]
  |  |  |  Branch (1558:47): [Folded, False: 718k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|   718k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|   718k|        p += n;
  542|   718k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   718k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 718k, Folded]
  |  |  |  Branch (1558:47): [True: 718k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|   718k|            xspan_check_range(p, base, size_in_bytes);
  544|   718k|        return p;
  545|   718k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2ER9MemBuffer:
  229|  25.1k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  25.1k|#define CSelf PtrOrSpanOrNull
  ------------------
  230|  25.1k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIKvE11makeNotNullEPS1_:
   82|  25.1k|    static inline pointer makeNotNull(pointer p) {
   83|  25.1k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|  25.1k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  25.1k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  25.1k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 25.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  25.1k|        return p;
   86|  25.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2EPS1_NS_16XSpanSizeInBytesE:
  142|  25.1k|        : ptr(makePtr(first)), base(makeBase(first)),
  143|  25.1k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  25.1k|        assertInvariants();
  145|  25.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvE7makePtrEPS1_:
   88|  25.1k|    static inline pointer makePtr(pointer p) {
   89|  25.1k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  25.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 25.1k]
  |  |  |  Branch (1558:47): [Folded, False: 25.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  25.1k|        return p;
   92|  25.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvE8makeBaseEPS1_:
   93|  25.1k|    static inline pointer makeBase(pointer b) {
   94|  25.1k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  25.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 25.1k]
  |  |  |  Branch (1558:47): [Folded, False: 25.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  25.1k|        return b;
   97|  25.1k|    }
_ZN5XSpan9PtrOrSpanIvEC2ER9MemBuffer:
  229|  67.7k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  67.7k|#define CSelf PtrOrSpan
  ------------------
  230|  67.7k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIvE11makeNotNullEPv:
   82|  67.7k|    static inline pointer makeNotNull(pointer p) {
   83|  67.7k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|  67.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  67.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  67.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 67.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  67.7k|        return p;
   86|  67.7k|    }
_ZN5XSpan9PtrOrSpanIvEC2EPvNS_16XSpanSizeInBytesE:
  142|  67.7k|        : ptr(makePtr(first)), base(makeBase(first)),
  143|  67.7k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  67.7k|        assertInvariants();
  145|  67.7k|    }
_ZN5XSpan9PtrOrSpanIvE8makeBaseEPv:
   93|  67.7k|    static inline pointer makeBase(pointer b) {
   94|  67.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  67.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 67.7k]
  |  |  |  Branch (1558:47): [Folded, False: 67.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  67.7k|        return b;
   97|  67.7k|    }
_ZN5XSpan9PtrOrSpanIhEC2ER9MemBuffer:
  229|  4.49k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  4.49k|#define CSelf PtrOrSpan
  ------------------
  230|  4.49k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIhE11makeNotNullEPh:
   82|  4.49k|    static inline pointer makeNotNull(pointer p) {
   83|  4.49k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|  4.49k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  4.49k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  4.49k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 4.49k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  4.49k|        return p;
   86|  4.49k|    }
_ZN5XSpan9PtrOrSpanIhEC2EPhNS_16XSpanSizeInBytesE:
  142|  4.49k|        : ptr(makePtr(first)), base(makeBase(first)),
  143|  4.49k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  4.49k|        assertInvariants();
  145|  4.49k|    }
_ZN5XSpan9PtrOrSpanIhE7makePtrEPh:
   88|  31.4k|    static inline pointer makePtr(pointer p) {
   89|  31.4k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  62.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 31.4k]
  |  |  |  Branch (1558:47): [True: 31.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 31.4k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  31.4k|        return p;
   92|  31.4k|    }
_ZN5XSpan9PtrOrSpanIhE8makeBaseEPh:
   93|  4.49k|    static inline pointer makeBase(pointer b) {
   94|  4.49k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  4.49k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 4.49k]
  |  |  |  Branch (1558:47): [Folded, False: 4.49k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  4.49k|        return b;
   97|  4.49k|    }
_ZNK5XSpan9PtrOrSpanIhE16assertInvariantsEv:
   79|   386k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIhED2Ev:
  120|   160k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ER9MemBuffer:
  229|  3.69k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  3.69k|#define CSelf PtrOrSpanOrNull
  ------------------
  230|  3.69k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIhE11makeNotNullEPh:
   82|  3.77k|    static inline pointer makeNotNull(pointer p) {
   83|  3.77k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|  3.77k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  3.77k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  3.77k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3.77k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  3.77k|        return p;
   86|  3.77k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2EPhNS_16XSpanSizeInBytesE:
  142|  3.69k|        : ptr(makePtr(first)), base(makeBase(first)),
  143|  3.69k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  3.69k|        assertInvariants();
  145|  3.69k|    }
_ZN5XSpan15PtrOrSpanOrNullIhE7makePtrEPh:
   88|  3.77k|    static inline pointer makePtr(pointer p) {
   89|  3.77k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  3.77k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3.77k]
  |  |  |  Branch (1558:47): [Folded, False: 3.77k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  3.77k|        return p;
   92|  3.77k|    }
_ZN5XSpan15PtrOrSpanOrNullIhE8makeBaseEPh:
   93|  3.77k|    static inline pointer makeBase(pointer b) {
   94|  3.77k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  3.77k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3.77k]
  |  |  |  Branch (1558:47): [Folded, False: 3.77k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  3.77k|        return b;
   97|  3.77k|    }
_ZN5XSpan9PtrOrSpanIKvEC2ER9MemBuffer:
  229|    203|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    203|#define CSelf PtrOrSpan
  ------------------
  230|    203|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIKvE11makeNotNullEPS1_:
   82|    203|    static inline pointer makeNotNull(pointer p) {
   83|    203|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|    203|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    203|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    203|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 203]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|    203|        return p;
   86|    203|    }
_ZN5XSpan9PtrOrSpanIKvEC2EPS1_NS_16XSpanSizeInBytesE:
  142|    203|        : ptr(makePtr(first)), base(makeBase(first)),
  143|    203|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|    203|        assertInvariants();
  145|    203|    }
_ZN5XSpan9PtrOrSpanIKvE7makePtrEPS1_:
   88|    203|    static inline pointer makePtr(pointer p) {
   89|    203|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    406|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 203]
  |  |  |  Branch (1558:47): [True: 203, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 203]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    203|        return p;
   92|    203|    }
_ZN5XSpan9PtrOrSpanIKvE8makeBaseEPS1_:
   93|    203|    static inline pointer makeBase(pointer b) {
   94|    203|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    203|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 203]
  |  |  |  Branch (1558:47): [Folded, False: 203]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|    203|        return b;
   97|    203|    }
_ZNK5XSpan9PtrOrSpanIKvE16assertInvariantsEv:
   79|    203|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIKvED2Ev:
  120|    203|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKhEC2ER9MemBuffer:
  229|  3.68k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  3.68k|#define CSelf PtrOrSpan
  ------------------
  230|  3.68k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIKhE11makeNotNullEPS1_:
   82|  3.68k|    static inline pointer makeNotNull(pointer p) {
   83|  3.68k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|  3.68k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  3.68k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  3.68k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3.68k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  3.68k|        return p;
   86|  3.68k|    }
_ZN5XSpan9PtrOrSpanIKhEC2EPS1_NS_16XSpanSizeInBytesE:
  142|  3.68k|        : ptr(makePtr(first)), base(makeBase(first)),
  143|  3.68k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  3.68k|        assertInvariants();
  145|  3.68k|    }
_ZNK5XSpan4SpanIhE9raw_bytesEm:
  566|   148k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|   148k|        assertInvariants();
  568|   148k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 138k, False: 9.35k]
  ------------------
  569|   138k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   138k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 138k]
  |  |  |  Branch (1558:47): [Folded, False: 138k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|   138k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   138k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 138k, Folded]
  |  |  |  Branch (1558:47): [True: 138k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|   138k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|   138k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|   138k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   138k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   138k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 138k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|   138k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|   138k|        }
  577|   148k|        return ptr;
  578|   148k|    }
_ZNK5XSpan4SpanIKhE4dataEv:
  581|      3|    pointer data() const noexcept { return ptr; }
_ZNK5XSpan4SpanIKhE10size_bytesEv:
  584|      3|    size_type size_bytes() const {
  585|      3|        assertInvariants();
  586|      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]
  |  |  ------------------
  ------------------
  587|      0|            return 0;
  588|      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]
  |  |  ------------------
  ------------------
  589|      0|            return 0;
  590|      3|        const charptr p_begin = upx::ptr_static_cast<const charptr>(ptr);
  591|      3|        const charptr p_end = upx::ptr_static_cast<const charptr>(base) + size_in_bytes;
  592|      3|        return p_end - p_begin;
  593|      3|    }
_ZNK5XSpan4SpanIhE10size_bytesEv:
  584|      3|    size_type size_bytes() const {
  585|      3|        assertInvariants();
  586|      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]
  |  |  ------------------
  ------------------
  587|      0|            return 0;
  588|      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]
  |  |  ------------------
  ------------------
  589|      0|            return 0;
  590|      3|        const charptr p_begin = upx::ptr_static_cast<const charptr>(ptr);
  591|      3|        const charptr p_end = upx::ptr_static_cast<const charptr>(base) + size_in_bytes;
  592|      3|        return p_end - p_begin;
  593|      3|    }
_ZNK5XSpan4SpanIhE9ensurePtrEv:
   99|    338|    inline pointer ensurePtr() const {
  100|    338|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 338]
  |  |  |  Branch (1558:47): [Folded, False: 338]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|    338|        return ptr;
  103|    338|    }
_ZNK5XSpan4SpanIhE10ensureBaseEv:
  104|    338|    inline pointer ensureBase() const {
  105|    338|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 338]
  |  |  |  Branch (1558:47): [Folded, False: 338]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|    338|        return base;
  108|    338|    }
_ZNK5XSpan4SpanIhEixEl:
  467|      3|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIhE11check_derefEPhl:
  526|      3|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  527|      3|        assertInvariants();
  528|      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]
  |  |  ------------------
  ------------------
  529|      0|            xspan_fail_nullptr();
  530|      3|        xspan_mem_size_assert_ptrdiff<T>(n);
  531|      3|        p += n;
  532|      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]
  |  |  ------------------
  ------------------
  533|      3|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  534|      3|        return p;
  535|      3|    }
_ZN5XSpan4SpanIhEpLEl:
  491|    346|    Self &operator+=(ptrdiff_t n) {
  492|    346|        ptr = check_add(ptr, n);
  493|    346|        return *this;
  494|    346|    }
_ZNK5XSpan4SpanIhE9check_addEPhl:
  536|  83.7k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  83.7k|        assertInvariants();
  538|  83.7k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  83.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 83.7k]
  |  |  |  Branch (1558:47): [Folded, False: 83.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  83.7k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  83.7k|        p += n;
  542|  83.7k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  83.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 83.7k, Folded]
  |  |  |  Branch (1558:47): [True: 83.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|  83.7k|            xspan_check_range(p, base, size_in_bytes);
  544|  83.7k|        return p;
  545|  83.7k|    }
_ZN5XSpan4SpanIhEppEi:
  476|    338|    Self operator++(int) {
  477|    338|        Self tmp = *this;
  478|    338|        ++*this;
  479|    338|        return tmp;
  480|    338|    }
_ZN5XSpan4SpanIhEppEv:
  472|    338|    Self &operator++() {
  473|    338|        ptr = check_add(ptr, 1);
  474|    338|        return *this;
  475|    338|    }
_ZNK5XSpan4SpanIhEdeEv:
  464|    338|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIhE11check_derefEPh:
  518|    338|    pointer check_deref(pointer p) const may_throw {
  519|    338|        assertInvariants();
  520|    338|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 338]
  |  |  |  Branch (1558:47): [Folded, False: 338]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|    338|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 338, Folded]
  |  |  |  Branch (1558:47): [True: 338, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|    338|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|    338|        return p;
  525|    338|    }
_ZNK5XSpan4SpanIKhEplEl:
  500|   122k|    Self operator+(ptrdiff_t n) const {
  501|   122k|        pointer first = check_add(ptr, n);
  502|   122k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|   122k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|   122k|        r.f = f;
  505|   122k|#endif
  506|   122k|        return r;
  507|   122k|    }
_ZN5XSpan4SpanIKhEC2ENS2_13ModeUncheckedEPS1_mS4_:
  269|   122k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|   122k|        assertInvariants();
  271|   122k|    }
_ZNK5XSpan4SpanIhEplEl:
  500|  83.0k|    Self operator+(ptrdiff_t n) const {
  501|  83.0k|        pointer first = check_add(ptr, n);
  502|  83.0k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|  83.0k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|  83.0k|        r.f = f;
  505|  83.0k|#endif
  506|  83.0k|        return r;
  507|  83.0k|    }
_ZN5XSpan4SpanIhEC2ENS1_13ModeUncheckedEPhmS3_:
  269|  83.4k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  83.4k|        assertInvariants();
  271|  83.4k|    }
_ZN5XSpan4SpanIhEC2IhEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_hEE5valueeqL_ZNS_14ValueForSizeOfIhE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  159|      3|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|      3|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  160|      3|          size_in_bytes(xspan_mem_size<T>(count)) {
  161|      3|        assertInvariants();
  162|      3|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhR9MemBuffer:
  238|  32.4k|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|  32.4k|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|  32.4k|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  239|  32.4k|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesES5_:
  194|  32.4k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  32.4k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  195|  32.4k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  196|       |        // check invariants
  197|  32.4k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, Folded]
  |  |  |  Branch (1558:47): [True: 32.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  198|  32.4k|                      (configRequireBase || base != nullptr))
  199|  32.4k|            xspan_check_range(ptr, base, size_in_bytes);
  200|       |        // double sanity check
  201|  32.4k|        assertInvariants();
  202|  32.4k|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  238|    169|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|    169|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|    169|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  239|    169|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIKhE11makeNotNullEPS1_:
   82|    241|    static inline pointer makeNotNull(pointer p) {
   83|    241|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|    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: 0, False: 241]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|    241|        return p;
   86|    241|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  194|    169|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|    169|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  195|    169|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  196|       |        // check invariants
  197|    169|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 169, Folded]
  |  |  |  Branch (1558:47): [True: 169, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  198|    169|                      (configRequireBase || base != nullptr))
  199|    169|            xspan_check_range(ptr, base, size_in_bytes);
  200|       |        // double sanity check
  201|    169|        assertInvariants();
  202|    169|    }
_ZN5XSpan4SpanIKhEppEi:
  476|   550k|    Self operator++(int) {
  477|   550k|        Self tmp = *this;
  478|   550k|        ++*this;
  479|   550k|        return tmp;
  480|   550k|    }
_ZN5XSpan4SpanIKhEppEv:
  472|   558k|    Self &operator++() {
  473|   558k|        ptr = check_add(ptr, 1);
  474|   558k|        return *this;
  475|   558k|    }
_ZNK5XSpan9PtrOrSpanIhE9raw_bytesEm:
  566|   128k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|   128k|        assertInvariants();
  568|   128k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 128k, False: 0]
  ------------------
  569|   128k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   128k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 128k]
  |  |  |  Branch (1558:47): [Folded, False: 128k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|   128k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   257k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 101k, False: 26.9k]
  |  |  |  Branch (1558:47): [Folded, False: 128k]
  |  |  |  Branch (1558:47): [True: 101k, False: 26.9k]
  |  |  ------------------
  ------------------
  572|   101k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|   128k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|   128k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   128k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   128k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 128k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|   128k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|   128k|        }
  577|   128k|        return ptr;
  578|   128k|    }
_ZNK5XSpan9PtrOrSpanIhE9ensurePtrEv:
   99|  31.4k|    inline pointer ensurePtr() const {
  100|  31.4k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  31.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 31.4k]
  |  |  |  Branch (1558:47): [Folded, False: 31.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  31.4k|        return ptr;
  103|  31.4k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  159|  39.3k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  39.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  160|  39.3k|          size_in_bytes(xspan_mem_size<T>(count)) {
  161|  39.3k|        assertInvariants();
  162|  39.3k|    }
_ZNK5XSpan9PtrOrSpanIhE4dataEm:
  582|      3|    pointer data(size_t bytes) const may_throw { return raw_bytes(bytes); } // UPX extra
_ZNK5XSpan9PtrOrSpanIhEplEl:
  500|  64.9k|    Self operator+(ptrdiff_t n) const {
  501|  64.9k|        pointer first = check_add(ptr, n);
  502|  64.9k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  503|  64.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  504|  64.9k|        r.f = f;
  505|  64.9k|#endif
  506|  64.9k|        return r;
  507|  64.9k|    }
_ZNK5XSpan9PtrOrSpanIhE9check_addEPhl:
  536|  64.9k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  64.9k|        assertInvariants();
  538|  64.9k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 64.9k]
  |  |  |  Branch (1558:47): [Folded, False: 64.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  64.9k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  64.9k|        p += n;
  542|  64.9k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   129k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 64.9k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 64.9k]
  |  |  |  Branch (1558:47): [True: 64.9k, False: 0]
  |  |  ------------------
  ------------------
  543|  64.9k|            xspan_check_range(p, base, size_in_bytes);
  544|  64.9k|        return p;
  545|  64.9k|    }
_ZN5XSpan9PtrOrSpanIhEC2ENS1_13ModeUncheckedEPhmS3_:
  269|  64.9k|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|  64.9k|        assertInvariants();
  271|  64.9k|    }
_ZN5XSpan4SpanIKhEaSERKS2_:
  341|     90|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan4SpanIKhE6assignERKS2_:
  308|     90|    Self &assign(const Self &other) {
  309|     90|        assertInvariants();
  310|     90|        other.assertInvariants();
  311|     90|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|     90|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 90]
  |  |  |  Branch (1558:47): [Folded, False: 90]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  312|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  313|      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]
  |  |  ------------------
  ------------------
  314|      0|                          (configRequireBase || other.base != nullptr))
  315|      0|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  316|       |            // ok
  317|      0|            ptr = other.ptr;
  318|      0|            base = other.base;
  319|      0|            size_in_bytes = other.size_in_bytes;
  320|     90|        } else {
  321|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  322|     90|            if __acc_cte (configRequireBase || other.base != nullptr)
  ------------------
  |  | 1558|     90|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 90, Folded]
  |  |  |  Branch (1558:47): [True: 90, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  323|     90|                if very_unlikely (base != other.base)
  ------------------
  |  |  248|     90|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     90|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     90|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 90]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|      0|                    xspan_fail_not_same_base();
  325|     90|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|    180|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 90, Folded]
  |  |  |  Branch (1558:47): [True: 90, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  326|     90|                          (configRequireBase || base != nullptr))
  327|     90|                xspan_check_range(other.ptr, base, size_in_bytes);
  328|       |            // ok
  329|     90|            ptr = other.ptr;
  330|     90|        }
  331|     90|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  332|     90|        if (f.src_file == nullptr)
  ------------------
  |  Branch (332:13): [True: 0, False: 90]
  ------------------
  333|      0|            f = other.f;
  334|     90|#endif
  335|     90|        assertInvariants();
  336|     90|        return *this;
  337|     90|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileER9MemBuffer:
  232|      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,
  ------------------
  233|      3|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanI4LE32E11makeNotNullEPS1_:
   82|    226|    static inline pointer makeNotNull(pointer p) {
   83|    226|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|    226|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    226|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    226|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 226]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|    226|        return p;
   86|    226|    }
_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|    226|    static inline pointer makePtr(pointer p) {
   89|    226|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    452|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 226]
  |  |  |  Branch (1558:47): [True: 226, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 226]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    226|        return p;
   92|    226|    }
_ZN5XSpan4SpanI4LE32E8makeBaseEPS1_:
   93|    226|    static inline pointer makeBase(pointer b) {
   94|    226|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    452|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 226]
  |  |  |  Branch (1558:47): [True: 226, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 226]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|    226|        return b;
   97|    226|    }
_ZN5XSpan4SpanI4LE32EppEi:
  476|  32.4k|    Self operator++(int) {
  477|  32.4k|        Self tmp = *this;
  478|  32.4k|        ++*this;
  479|  32.4k|        return tmp;
  480|  32.4k|    }
_ZN5XSpan4SpanI4LE32EppEv:
  472|  40.4k|    Self &operator++() {
  473|  40.4k|        ptr = check_add(ptr, 1);
  474|  40.4k|        return *this;
  475|  40.4k|    }
_ZNK5XSpan4SpanI4LE32E9check_addEPS1_l:
  536|  40.4k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  40.4k|        assertInvariants();
  538|  40.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  40.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 40.4k]
  |  |  |  Branch (1558:47): [Folded, False: 40.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  40.4k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  40.4k|        p += n;
  542|  40.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  40.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 40.4k, Folded]
  |  |  |  Branch (1558:47): [True: 40.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|  40.4k|            xspan_check_range(p, base, size_in_bytes);
  544|  40.4k|        return p;
  545|  40.4k|    }
_ZNK5XSpan4SpanI4LE32EdeEv:
  464|  48.6k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanI4LE32E11check_derefEPS1_:
  518|  48.6k|    pointer check_deref(pointer p) const may_throw {
  519|  48.6k|        assertInvariants();
  520|  48.6k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  48.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 48.6k]
  |  |  |  Branch (1558:47): [Folded, False: 48.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|  48.6k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  48.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 48.6k, Folded]
  |  |  |  Branch (1558:47): [True: 48.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|  48.6k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|  48.6k|        return p;
  525|  48.6k|    }
_ZNK5XSpan4SpanI4LE32E9raw_bytesEm:
  566|      3|    pointer raw_bytes(size_t bytes) const may_throw {
  567|      3|        assertInvariants();
  568|      3|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 0, False: 3]
  ------------------
  569|      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]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|      0|        }
  577|      3|        return ptr;
  578|      3|    }
_ZNK5XSpan9PtrOrSpanIKhE9raw_bytesEm:
  566|  63.9k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|  63.9k|        assertInvariants();
  568|  63.9k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 63.9k, False: 0]
  ------------------
  569|  63.9k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  63.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 63.9k]
  |  |  |  Branch (1558:47): [Folded, False: 63.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|  63.9k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   127k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 36.2k, False: 27.7k]
  |  |  |  Branch (1558:47): [Folded, False: 63.9k]
  |  |  |  Branch (1558:47): [True: 36.2k, False: 27.7k]
  |  |  ------------------
  ------------------
  572|  36.2k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|  63.9k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|  63.9k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  63.9k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.9k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 63.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|  63.9k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|  63.9k|        }
  577|  63.9k|        return ptr;
  578|  63.9k|    }
_ZNK5XSpan9PtrOrSpanIhEixEl:
  467|  32.4k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIhE11check_derefEPhl:
  526|  32.4k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  527|  32.4k|        assertInvariants();
  528|  32.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  32.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|      0|            xspan_fail_nullptr();
  530|  32.4k|        xspan_mem_size_assert_ptrdiff<T>(n);
  531|  32.4k|        p += n;
  532|  32.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  ------------------
  ------------------
  533|  32.4k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  534|  32.4k|        return p;
  535|  32.4k|    }
_ZNK5XSpan9PtrOrSpanIKhEixEl:
  467|  32.4k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIKhE11check_derefEPS1_l:
  526|  32.4k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  527|  32.4k|        assertInvariants();
  528|  32.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  32.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|      0|            xspan_fail_nullptr();
  530|  32.4k|        xspan_mem_size_assert_ptrdiff<T>(n);
  531|  32.4k|        p += n;
  532|  32.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  ------------------
  ------------------
  533|  32.4k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  534|  32.4k|        return p;
  535|  32.4k|    }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEEptEv:
  470|    696|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE11check_derefEPS3_:
  518|    696|    pointer check_deref(pointer p) const may_throw {
  519|    696|        assertInvariants();
  520|    696|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 696]
  |  |  |  Branch (1558:47): [Folded, False: 696]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|    696|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 696, Folded]
  |  |  |  Branch (1558:47): [True: 696, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|    696|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|    696|        return p;
  525|    696|    }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE16assertInvariantsEv:
   79|  1.04k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE9type_castIhEENS0_IT_EEv:
  387|    348|    CSelf<U> type_cast() const {
  388|    348|        typedef CSelf<U> R;
  389|    348|        typedef typename R::pointer rpointer;
  390|    348|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|    348|                upx::ptr_static_cast<rpointer>(base));
  392|    348|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|    348|        r.f = f;
  394|    348|#endif
  395|    348|        return r;
  396|    348|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEED2Ev:
  120|  60.8k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEED2Ev:
  120|      6|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16ED2Ev:
  120|  32.4k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIhE9type_castIN6PeFile5Reloc9BaseRelocEEENS0_IT_EEv:
  387|      3|    CSelf<U> type_cast() const {
  388|      3|        typedef CSelf<U> R;
  389|      3|        typedef typename R::pointer rpointer;
  390|      3|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|      3|                upx::ptr_static_cast<rpointer>(base));
  392|      3|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|      3|        r.f = f;
  394|      3|#endif
  395|      3|        return r;
  396|      3|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEC2ENS4_13ModeUncheckedEPS3_mS6_:
  269|      3|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|      3|        assertInvariants();
  271|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE16assertInvariantsEv:
   79|  33.8k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSERKS4_:
  341|      3|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE6assignERKS4_:
  308|      3|    Self &assign(const Self &other) {
  309|      3|        assertInvariants();
  310|      3|        other.assertInvariants();
  311|      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]
  |  |  ------------------
  ------------------
  312|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  313|      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]
  |  |  ------------------
  ------------------
  314|      3|                          (configRequireBase || other.base != nullptr))
  315|      3|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  316|       |            // ok
  317|      3|            ptr = other.ptr;
  318|      3|            base = other.base;
  319|      3|            size_in_bytes = other.size_in_bytes;
  320|      3|        } else {
  321|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  322|      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]
  |  |  ------------------
  ------------------
  323|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|      0|                    xspan_fail_not_same_base();
  325|      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]
  |  |  ------------------
  ------------------
  326|      0|                          (configRequireBase || base != nullptr))
  327|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  328|       |            // ok
  329|      0|            ptr = other.ptr;
  330|      0|        }
  331|      3|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  332|      3|        if (f.src_file == nullptr)
  ------------------
  |  Branch (332:13): [True: 3, False: 0]
  ------------------
  333|      3|            f = other.f;
  334|      3|#endif
  335|      3|        assertInvariants();
  336|      3|        return *this;
  337|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9type_castI4LE16EENS0_IT_EEv:
  387|      3|    CSelf<U> type_cast() const {
  388|      3|        typedef CSelf<U> R;
  389|      3|        typedef typename R::pointer rpointer;
  390|      3|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  391|      3|                upx::ptr_static_cast<rpointer>(base));
  392|      3|#if XSPAN_CONFIG_ENABLE_DEBUG
  393|      3|        r.f = f;
  394|      3|#endif
  395|      3|        return r;
  396|      3|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EC2ENS2_13ModeUncheckedEPS1_mS4_:
  269|      3|        : ptr(p), base(b), size_in_bytes(bytes) {
  270|      3|        assertInvariants();
  271|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E16assertInvariantsEv:
   79|   130k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSERKS2_:
  341|      3|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E6assignERKS2_:
  308|      3|    Self &assign(const Self &other) {
  309|      3|        assertInvariants();
  310|      3|        other.assertInvariants();
  311|      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]
  |  |  ------------------
  ------------------
  312|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  313|      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]
  |  |  ------------------
  ------------------
  314|      3|                          (configRequireBase || other.base != nullptr))
  315|      3|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  316|       |            // ok
  317|      3|            ptr = other.ptr;
  318|      3|            base = other.base;
  319|      3|            size_in_bytes = other.size_in_bytes;
  320|      3|        } else {
  321|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  322|      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]
  |  |  ------------------
  ------------------
  323|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|      0|                    xspan_fail_not_same_base();
  325|      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]
  |  |  ------------------
  ------------------
  326|      0|                          (configRequireBase || base != nullptr))
  327|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  328|       |            // ok
  329|      0|            ptr = other.ptr;
  330|      0|        }
  331|      3|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  332|      3|        if (f.src_file == nullptr)
  ------------------
  |  Branch (332:13): [True: 3, False: 0]
  ------------------
  333|      3|            f = other.f;
  334|      3|#endif
  335|      3|        assertInvariants();
  336|      3|        return *this;
  337|      3|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSEPS3_:
  339|    348|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE6assignEPS3_:
  297|    348|    Self &assign(pointer other) {
  298|    348|        assertInvariants();
  299|    348|        other = makePtr(other);
  300|    348|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|  2.08k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 348, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  ------------------
  ------------------
  301|    348|                      (configRequireBase || base != nullptr))
  302|    348|            xspan_check_range(other, base, size_in_bytes);
  303|       |        // ok
  304|    348|        ptr = other;
  305|    348|        assertInvariants();
  306|    348|        return *this;
  307|    348|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE7makePtrEPS3_:
   88|    348|    static inline pointer makePtr(pointer p) {
   89|    348|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    348|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 348]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    348|        return p;
   92|    348|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSEPS1_:
  339|    348|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E6assignEPS1_:
  297|    348|    Self &assign(pointer other) {
  298|    348|        assertInvariants();
  299|    348|        other = makePtr(other);
  300|    348|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|  2.08k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 348, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  ------------------
  ------------------
  301|    348|                      (configRequireBase || base != nullptr))
  302|    348|            xspan_check_range(other, base, size_in_bytes);
  303|       |        // ok
  304|    348|        ptr = other;
  305|    348|        assertInvariants();
  306|    348|        return *this;
  307|    348|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E7makePtrEPS1_:
   88|    348|    static inline pointer makePtr(pointer p) {
   89|    348|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    348|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 348]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    348|        return p;
   92|    348|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EppEi:
  476|  32.4k|    Self operator++(int) {
  477|  32.4k|        Self tmp = *this;
  478|  32.4k|        ++*this;
  479|  32.4k|        return tmp;
  480|  32.4k|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EppEv:
  472|  32.4k|    Self &operator++() {
  473|  32.4k|        ptr = check_add(ptr, 1);
  474|  32.4k|        return *this;
  475|  32.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E9check_addEPS1_l:
  536|  32.4k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|  32.4k|        assertInvariants();
  538|  32.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.4k]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|  32.4k|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|  32.4k|        p += n;
  542|  32.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  ------------------
  ------------------
  543|  32.4k|            xspan_check_range(p, base, size_in_bytes);
  544|  32.4k|        return p;
  545|  32.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16EdeEv:
  464|  32.4k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E11check_derefEPS1_:
  518|  32.4k|    pointer check_deref(pointer p) const may_throw {
  519|  32.4k|        assertInvariants();
  520|  32.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.4k]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|  32.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  ------------------
  ------------------
  523|  32.4k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|  32.4k|        return p;
  525|  32.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEptEv:
  470|  33.1k|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE11check_derefEPS3_:
  518|  33.1k|    pointer check_deref(pointer p) const may_throw {
  519|  33.1k|        assertInvariants();
  520|  33.1k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  66.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 33.1k]
  |  |  |  Branch (1558:47): [True: 33.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 33.1k]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|  33.1k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  66.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 33.1k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 33.1k]
  |  |  |  Branch (1558:47): [True: 33.1k, False: 0]
  |  |  ------------------
  ------------------
  523|  33.1k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|  33.1k|        return p;
  525|  33.1k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEeqEPS3_:
  398|    348|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E9raw_bytesEm:
  566|  32.4k|    pointer raw_bytes(size_t bytes) const may_throw {
  567|  32.4k|        assertInvariants();
  568|  32.4k|        if (bytes > 0) {
  ------------------
  |  Branch (568:13): [True: 0, False: 32.4k]
  ------------------
  569|      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]
  |  |  ------------------
  ------------------
  570|      0|                xspan_fail_nullptr();
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  573|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  575|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  576|      0|        }
  577|  32.4k|        return ptr;
  578|  32.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE7raw_ptrEv:
  562|      3|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE9ensurePtrEv:
   99|    348|    inline pointer ensurePtr() const {
  100|    348|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 348]
  |  |  |  Branch (1558:47): [True: 348, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 348]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|    348|        return ptr;
  103|    348|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE10ensureBaseEv:
  104|    348|    inline pointer ensureBase() const {
  105|    348|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 348]
  |  |  |  Branch (1558:47): [True: 348, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 348]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|    348|        return base;
  108|    348|    }
_ZN5XSpan4SpanIN6PeFile5Reloc9BaseRelocEED2Ev:
  120|    348|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEneEPS3_:
  404|      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:
  467|  1.82k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE11check_derefEPS2_l:
  526|  1.82k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  527|  1.82k|        assertInvariants();
  528|  1.82k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  3.64k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 1.82k]
  |  |  |  Branch (1558:47): [True: 1.82k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 1.82k]
  |  |  ------------------
  ------------------
  529|      0|            xspan_fail_nullptr();
  530|  1.82k|        xspan_mem_size_assert_ptrdiff<T>(n);
  531|  1.82k|        p += n;
  532|  1.82k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  3.64k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.82k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 1.82k]
  |  |  |  Branch (1558:47): [True: 1.82k, False: 0]
  |  |  ------------------
  ------------------
  533|  1.82k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  534|  1.82k|        return p;
  535|  1.82k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE16assertInvariantsEv:
   79|  3.06k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEEC2ERKNS_14XSpanDebugFileER9MemBuffer:
  232|    309|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    309|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   50|    309|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  233|    309|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE11makeNotNullEPS2_:
   82|    309|    static inline pointer makeNotNull(pointer p) {
   83|    309|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|    309|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    309|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    309|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 309]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|    309|        return p;
   86|    309|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEEC2ERKNS_14XSpanDebugFileEPS2_NS_16XSpanSizeInBytesE:
  147|    309|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|    309|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|    309|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|    309|        assertInvariants();
  150|    309|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE7makePtrEPS2_:
   88|    309|    static inline pointer makePtr(pointer p) {
   89|    309|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    618|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 309]
  |  |  |  Branch (1558:47): [True: 309, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 309]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    309|        return p;
   92|    309|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE8makeBaseEPS2_:
   93|    309|    static inline pointer makeBase(pointer b) {
   94|    309|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    618|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 309]
  |  |  |  Branch (1558:47): [True: 309, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 309]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|    309|        return b;
   97|    309|    }
_ZNK5XSpan4SpanIN6PeFile12pe_section_tEE16assertInvariantsEv:
   79|    309|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEED2Ev:
  120|    309|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE6assignERKS3_:
  308|    309|    Self &assign(const Self &other) {
  309|    309|        assertInvariants();
  310|    309|        other.assertInvariants();
  311|    309|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|    618|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 309, False: 0]
  |  |  |  Branch (1558:47): [True: 309, Folded]
  |  |  |  Branch (1558:47): [True: 309, False: 0]
  |  |  ------------------
  ------------------
  312|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  313|    309|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|  1.85k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 309, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 309]
  |  |  |  Branch (1558:47): [True: 309, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 309]
  |  |  |  Branch (1558:47): [True: 309, False: 0]
  |  |  ------------------
  ------------------
  314|    309|                          (configRequireBase || other.base != nullptr))
  315|    309|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  316|       |            // ok
  317|    309|            ptr = other.ptr;
  318|    309|            base = other.base;
  319|    309|            size_in_bytes = other.size_in_bytes;
  320|    309|        } else {
  321|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  322|      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]
  |  |  ------------------
  ------------------
  323|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  248|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  324|      0|                    xspan_fail_not_same_base();
  325|      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]
  |  |  ------------------
  ------------------
  326|      0|                          (configRequireBase || base != nullptr))
  327|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  328|       |            // ok
  329|      0|            ptr = other.ptr;
  330|      0|        }
  331|    309|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  332|    309|        if (f.src_file == nullptr)
  ------------------
  |  Branch (332:13): [True: 309, False: 0]
  ------------------
  333|    309|            f = other.f;
  334|    309|#endif
  335|    309|        assertInvariants();
  336|    309|        return *this;
  337|    309|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE9ensurePtrEv:
   99|    309|    inline pointer ensurePtr() const {
  100|    309|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    618|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 309]
  |  |  |  Branch (1558:47): [True: 309, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 309]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|    309|        return ptr;
  103|    309|    }
_ZN5XSpan4SpanIKhEC2ER9MemBuffer:
  229|     72|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|     72|#define CSelf Span
  ------------------
  230|     72|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIKhEC2EPS1_NS_16XSpanSizeInBytesE:
  142|     72|        : ptr(makePtr(first)), base(makeBase(first)),
  143|     72|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|     72|        assertInvariants();
  145|     72|    }
_ZN5XSpan4SpanIhEaSEPh:
  339|    178|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan4SpanIhE6assignEPh:
  297|    178|    Self &assign(pointer other) {
  298|    178|        assertInvariants();
  299|    178|        other = makePtr(other);
  300|    178|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|    356|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 178, Folded]
  |  |  |  Branch (1558:47): [True: 178, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  301|    178|                      (configRequireBase || base != nullptr))
  302|    178|            xspan_check_range(other, base, size_in_bytes);
  303|       |        // ok
  304|    178|        ptr = other;
  305|    178|        assertInvariants();
  306|    178|        return *this;
  307|    178|    }
_ZN5XSpan4SpanIKhEC2IhEERKNS_14XSpanDebugFileEPS1_mPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS8_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  216|     81|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     81|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  217|     81|          size_in_bytes(xspan_mem_size<T>(count)) {
  218|       |        // check invariants
  219|     81|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    162|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 81, Folded]
  |  |  |  Branch (1558:47): [True: 81, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  220|     81|                      (configRequireBase || base != nullptr))
  221|     81|            xspan_check_range(ptr, base, size_in_bytes);
  222|       |        // double sanity check
  223|     81|        assertInvariants();
  224|     81|    }
_ZN5XSpan4SpanIhEC2ER9MemBuffer:
  229|     81|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|     81|#define CSelf Span
  ------------------
  230|     81|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIhEC2EPhNS_16XSpanSizeInBytesE:
  142|     81|        : ptr(makePtr(first)), base(makeBase(first)),
  143|     81|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|     81|        assertInvariants();
  145|     81|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKNS_14XSpanDebugFileEPS2_R9MemBuffer:
  238|     81|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     81|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|     81|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  239|     81|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIN6PeFile11import_descEE11makeNotNullEPS2_:
   82|     81|    static inline pointer makeNotNull(pointer p) {
   83|     81|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|     81|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     81|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     81|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 81]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|     81|        return p;
   86|     81|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKNS_14XSpanDebugFileEPS2_NS_16XSpanSizeInBytesES7_:
  194|     81|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     81|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  195|     81|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  196|       |        // check invariants
  197|     81|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    162|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 81, Folded]
  |  |  |  Branch (1558:47): [True: 81, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  198|     81|                      (configRequireBase || base != nullptr))
  199|     81|            xspan_check_range(ptr, base, size_in_bytes);
  200|       |        // double sanity check
  201|     81|        assertInvariants();
  202|     81|    }
_ZN5XSpan4SpanIN6PeFile11import_descEE7makePtrEPS2_:
   88|     81|    static inline pointer makePtr(pointer p) {
   89|     81|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    162|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 81]
  |  |  |  Branch (1558:47): [True: 81, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 81]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|     81|        return p;
   92|     81|    }
_ZN5XSpan4SpanIN6PeFile11import_descEE8makeBaseEPS2_:
   93|     81|    static inline pointer makeBase(pointer b) {
   94|     81|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    162|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 81]
  |  |  |  Branch (1558:47): [True: 81, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 81]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|     81|        return b;
   97|     81|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE16assertInvariantsEv:
   79|  1.25k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileEPhR9MemBuffer:
  238|     81|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     81|#define CSelf PtrOrSpanOrNull
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|     81|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  239|     81|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesES5_:
  194|     81|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     81|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  195|     81|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  196|       |        // check invariants
  197|     81|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    243|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 81]
  |  |  |  Branch (1558:47): [Folded, False: 81]
  |  |  |  Branch (1558:47): [True: 0, False: 81]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  198|     81|                      (configRequireBase || base != nullptr))
  199|      0|            xspan_check_range(ptr, base, size_in_bytes);
  200|       |        // double sanity check
  201|     81|        assertInvariants();
  202|     81|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEEptEv:
  470|    707|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan4SpanIN6PeFile11import_descEE11check_derefEPS2_:
  518|    707|    pointer check_deref(pointer p) const may_throw {
  519|    707|        assertInvariants();
  520|    707|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    707|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 707]
  |  |  |  Branch (1558:47): [Folded, False: 707]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|    707|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    707|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 707, Folded]
  |  |  |  Branch (1558:47): [True: 707, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|    707|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|    707|        return p;
  525|    707|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  238|    223|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|    223|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|    223|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  239|    223|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  194|    223|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|    223|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  195|    223|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  196|       |        // check invariants
  197|    223|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    446|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 223, Folded]
  |  |  |  Branch (1558:47): [True: 223, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  198|    223|                      (configRequireBase || base != nullptr))
  199|    223|            xspan_check_range(ptr, base, size_in_bytes);
  200|       |        // double sanity check
  201|    223|        assertInvariants();
  202|    223|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEppEi:
  476|    233|    Self operator++(int) {
  477|    233|        Self tmp = *this;
  478|    233|        ++*this;
  479|    233|        return tmp;
  480|    233|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE9ensurePtrEv:
   99|    233|    inline pointer ensurePtr() const {
  100|    233|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    233|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 233]
  |  |  |  Branch (1558:47): [Folded, False: 233]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|    233|        return ptr;
  103|    233|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE10ensureBaseEv:
  104|    233|    inline pointer ensureBase() const {
  105|    233|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    233|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 233]
  |  |  |  Branch (1558:47): [Folded, False: 233]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|    233|        return base;
  108|    233|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEppEv:
  472|    233|    Self &operator++() {
  473|    233|        ptr = check_add(ptr, 1);
  474|    233|        return *this;
  475|    233|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE9check_addEPS2_l:
  536|    233|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|    233|        assertInvariants();
  538|    233|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    233|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 233]
  |  |  |  Branch (1558:47): [Folded, False: 233]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|    233|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|    233|        p += n;
  542|    233|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    233|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 233, Folded]
  |  |  |  Branch (1558:47): [True: 233, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|    233|            xspan_check_range(p, base, size_in_bytes);
  544|    233|        return p;
  545|    233|    }
_ZN5XSpan4SpanIN6PeFile11import_descEED2Ev:
  120|    314|forceinline ~CSelf() noexcept {}
_ZN5XSpan4SpanI4LE64EC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  238|     10|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     10|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|     10|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  239|     10|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanI4LE64E11makeNotNullEPS1_:
   82|     10|    static inline pointer makeNotNull(pointer p) {
   83|     10|        if very_unlikely (p == nullptr)
  ------------------
  |  |  248|     10|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     10|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     10|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 10]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|     10|        return p;
   86|     10|    }
_ZN5XSpan4SpanI4LE64EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  194|     10|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     10|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  195|     10|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  196|       |        // check invariants
  197|     10|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|     20|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 10, Folded]
  |  |  |  Branch (1558:47): [True: 10, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  198|     10|                      (configRequireBase || base != nullptr))
  199|     10|            xspan_check_range(ptr, base, size_in_bytes);
  200|       |        // double sanity check
  201|     10|        assertInvariants();
  202|     10|    }
_ZN5XSpan4SpanI4LE64E7makePtrEPS1_:
   88|     10|    static inline pointer makePtr(pointer p) {
   89|     10|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|     20|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 10]
  |  |  |  Branch (1558:47): [True: 10, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 10]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|     10|        return p;
   92|     10|    }
_ZN5XSpan4SpanI4LE64E8makeBaseEPS1_:
   93|     10|    static inline pointer makeBase(pointer b) {
   94|     10|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|     20|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 10]
  |  |  |  Branch (1558:47): [True: 10, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 10]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|     10|        return b;
   97|     10|    }
_ZNK5XSpan4SpanI4LE64E16assertInvariantsEv:
   79|  1.41k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanI4LE64EdeEv:
  464|    940|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanI4LE64E11check_derefEPS1_:
  518|    940|    pointer check_deref(pointer p) const may_throw {
  519|    940|        assertInvariants();
  520|    940|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    940|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 940]
  |  |  |  Branch (1558:47): [Folded, False: 940]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|            xspan_fail_nullptr();
  522|    940|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    940|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 940, Folded]
  |  |  |  Branch (1558:47): [True: 940, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|    940|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  524|    940|        return p;
  525|    940|    }
_ZN5XSpan4SpanI4LE64EppEv:
  472|    465|    Self &operator++() {
  473|    465|        ptr = check_add(ptr, 1);
  474|    465|        return *this;
  475|    465|    }
_ZNK5XSpan4SpanI4LE64E9check_addEPS1_l:
  536|    465|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  537|    465|        assertInvariants();
  538|    465|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    465|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 465]
  |  |  |  Branch (1558:47): [Folded, False: 465]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|      0|            xspan_fail_nullptr();
  540|    465|        xspan_mem_size_assert_ptrdiff<T>(n);
  541|    465|        p += n;
  542|    465|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    465|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 465, Folded]
  |  |  |  Branch (1558:47): [True: 465, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|    465|            xspan_check_range(p, base, size_in_bytes);
  544|    465|        return p;
  545|    465|    }
_ZN5XSpan4SpanI4LE64ED2Ev:
  120|     10|forceinline ~CSelf() noexcept {}

_ZN5XSpan15PtrOrSpanOrNullIiEC2IiEERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  31.8k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  31.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  31.8k|        assertInvariants();
   89|  31.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIiEC2IiEERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|  31.8k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  31.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|  31.8k|        assertInvariants();
   99|  31.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIiEC2ERKNS_14XSpanDebugFileEDn:
  122|  63.7k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  63.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  123|  63.7k|                                                                  base(nullptr),
  124|  63.7k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIKiEC2ERKNS_14XSpanDebugFileEDn:
  122|  31.8k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  31.8k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  123|  31.8k|                                                                  base(nullptr),
  124|  31.8k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIKiEC2IiEERKNS_14XSpanDebugFileERKNS0_IT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   80|  15.9k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   81|  15.9k|        assertInvariants();
   82|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  15.9k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  15.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  15.9k|        assertInvariants();
   89|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|  15.9k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  15.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|  15.9k|        assertInvariants();
   99|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2EDn:
  119|  47.8k|    forceinline CSelf(std::nullptr_t) noexcept : XSPAN_DEBUG_NULL ptr(nullptr),
  ------------------
  |  |   48|  47.8k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  120|  47.8k|                                                 base(nullptr),
  121|  47.8k|                                                 size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIcEC2EPc:
   56|  15.9k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  15.9k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  15.9k|        assertInvariants();
   58|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKNS_14XSpanDebugFileEPc:
   60|  31.8k|        : XSPAN_DEBUG_IMPL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  31.8k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   61|  31.8k|        assertInvariants();
   62|  31.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2ERKNS_14XSpanDebugFileEPS1_:
   60|  15.9k|        : XSPAN_DEBUG_IMPL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   61|  15.9k|        assertInvariants();
   62|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  15.9k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  15.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  15.9k|        assertInvariants();
   89|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|  15.9k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  15.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|  15.9k|        assertInvariants();
   99|  15.9k|    }
_ZN5XSpan9raw_bytesIcEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_m:
  135|   127k|                                                      size_t size_in_bytes) {
  136|   127k|    return a.raw_bytes(size_in_bytes);
  137|   127k|}
_ZN5XSpan15raw_index_bytesIcEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_mm:
  140|  63.7k|                                                            size_t index, size_t size_in_bytes) {
  141|  63.7k|    typedef typename PtrOrSpanOrNull<T>::element_type element_type;
  142|  63.7k|    if very_unlikely (a.raw_ptr() == nullptr)
  ------------------
  |  |  248|  63.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  63.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 31.8k, False: 31.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  31.8k|        throwCantPack("raw_index_bytes unexpected NULL ptr");
  144|  31.8k|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  343|  31.8k|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  343|  31.8k|#define index    upx_renamed_index
  ------------------
  145|  63.7k|}
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_14XSpanDebugFileERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   92|  15.9k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   93|  15.9k|        assertInvariants();
   94|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_14XSpanDebugFileERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
  102|  15.9k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  103|  15.9k|        assertInvariants();
  104|  15.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKNS_14XSpanDebugFileEDn:
  122|  15.9k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  15.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  123|  15.9k|                                                                  base(nullptr),
  124|  15.9k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullItEC2ERKNS_14XSpanDebugFileERKS1_:
   70|  31.8k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  31.8k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   71|  31.8k|        assertInvariants();
   72|  31.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKS1_:
   66|  15.9k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  15.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  15.9k|        assertInvariants();
   68|  15.9k|    }
_ZN5XSpan9raw_bytesIKvEENS_15PtrOrSpanOrNullIT_E7pointerERKS4_m:
  135|  32.5k|                                                      size_t size_in_bytes) {
  136|  32.5k|    return a.raw_bytes(size_in_bytes);
  137|  32.5k|}
_ZN5XSpan15PtrOrSpanOrNullIKvEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|    203|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|    203|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|    203|        assertInvariants();
   89|    203|    }
_ZN5XSpan9raw_bytesIhEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_m:
  135|  25.9k|                                                      size_t size_in_bytes) {
  136|  25.9k|    return a.raw_bytes(size_in_bytes);
  137|  25.9k|}
_ZN5XSpan15PtrOrSpanOrNullIhEC2EPh:
   56|  22.2k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  22.2k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  22.2k|        assertInvariants();
   58|  22.2k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2EDn:
  119|   334k|    forceinline CSelf(std::nullptr_t) noexcept : XSPAN_DEBUG_NULL ptr(nullptr),
  ------------------
  |  |   48|   334k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  120|   334k|                                                 base(nullptr),
  121|   334k|                                                 size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIKvEC2EPS1_:
   56|  7.19k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  7.19k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  7.19k|        assertInvariants();
   58|  7.19k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEaSIhEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_hEE5valueERS1_E4typeERKNS_4SpanIS5_EE:
  114|    131|    operator=(const Span<U> &other) {
  115|    131|        return assign(Self(other));
  116|    131|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2IhEERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_hEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|    131|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|    131|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|    131|        assertInvariants();
   99|    131|    }
_ZN5XSpan15PtrOrSpanOrNullIhEaSEDn:
  125|   302k|    forceinline Self &operator=(std::nullptr_t) noexcept {
  126|   302k|        ptr = nullptr;
  127|   302k|        return *this;
  128|   302k|    }
_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|  60.5k|    forceinline CSelf(std::nullptr_t) noexcept : XSPAN_DEBUG_NULL ptr(nullptr),
  ------------------
  |  |   48|  60.5k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  120|  60.5k|                                                 base(nullptr),
  121|  60.5k|                                                 size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEaSEDn:
  125|  60.5k|    forceinline Self &operator=(std::nullptr_t) noexcept {
  126|  60.5k|        ptr = nullptr;
  127|  60.5k|        return *this;
  128|  60.5k|    }
_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|  32.4k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  32.4k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  32.4k|        assertInvariants();
   68|  32.4k|    }
_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)
  ------------------
  |  |  248|      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;
  ------------------
  |  |  343|      3|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  343|      3|#define index    upx_renamed_index
  ------------------
  145|      3|}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEaSIS2_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S2_EE5valueERS3_E4typeERKNS_4SpanIS7_EE:
  114|    309|    operator=(const Span<U> &other) {
  115|    309|        return assign(Self(other));
  116|    309|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEC2IS2_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS6_S2_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|    309|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|    309|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|    309|        assertInvariants();
   99|    309|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileERKS1_:
   70|    162|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|    162|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   71|    162|        assertInvariants();
   72|    162|    }

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

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

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

