From 26a3abd27db2ef63dafea1ecab00e8239f341f0f Mon Sep 17 00:00:00 2001 From: Eyal Soha Date: Thu, 10 Feb 2022 09:52:54 -0700 Subject: [PATCH] Bug 432801 - Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals Add support for precise computation of SIMD greater-than on amd64 and x86. This adds support for 64bit, 16bit, and 8bit to the existing 32bit support. --- .gitignore | 2 + NEWS | 1 + VEX/priv/host_amd64_isel.c | 65 + VEX/priv/host_x86_isel.c | 56 + memcheck/mc_translate.c | 136 +- memcheck/tests/amd64/Makefile.am | 3 + memcheck/tests/amd64/pcmpgt.cpp | 1 + memcheck/tests/amd64/pcmpgt.stderr.exp | 1604 ++++++++++++++++++++++++ memcheck/tests/amd64/pcmpgt.vgtest | 3 + memcheck/tests/common/Makefile.am | 1 + memcheck/tests/common/pcmpgt.cpp | 649 ++++++++++ memcheck/tests/x86/Makefile.am | 3 + memcheck/tests/x86/pcmpgt.cpp | 1 + memcheck/tests/x86/pcmpgt.stderr.exp | 1498 ++++++++++++++++++++++ memcheck/tests/x86/pcmpgt.vgtest | 3 + 15 files changed, 4019 insertions(+), 7 deletions(-) create mode 120000 memcheck/tests/amd64/pcmpgt.cpp create mode 100644 memcheck/tests/amd64/pcmpgt.stderr.exp create mode 100644 memcheck/tests/amd64/pcmpgt.vgtest create mode 100644 memcheck/tests/common/pcmpgt.cpp create mode 120000 memcheck/tests/x86/pcmpgt.cpp create mode 100644 memcheck/tests/x86/pcmpgt.stderr.exp create mode 100644 memcheck/tests/x86/pcmpgt.vgtest diff --git a/.gitignore b/.gitignore index 44533e66fa..a82f147a75 100644 --- a/.gitignore +++ b/.gitignore @@ -1051,6 +1051,7 @@ /memcheck/tests/amd64/insn-bsfl /memcheck/tests/amd64/insn-pmovmskb /memcheck/tests/amd64/insn-pcmpistri +/memcheck/tests/amd64/pcmpgt /memcheck/tests/amd64/sh-mem-vec128 /memcheck/tests/amd64/sh-mem-vec256 /memcheck/tests/amd64/xsave-avx @@ -1289,6 +1290,7 @@ /memcheck/tests/x86/fxsave /memcheck/tests/x86/int3-x86 /memcheck/tests/x86/more_x86_fp +/memcheck/tests/x86/pcmpgt /memcheck/tests/x86/pushfpopf /memcheck/tests/x86/pushfw_x86 /memcheck/tests/x86/pushpopmem diff --git a/NEWS b/NEWS index cf0b93ca4e..4b66f97679 100644 --- a/NEWS +++ b/NEWS @@ -56,6 +56,7 @@ than mailing the developers (or mailing lists) directly -- bugs that are not entered into bugzilla tend to get forgotten about or ignored. 426751 Valgrind reports "still reachable" memory using musl (alpine running inside docker) +432801 Valgrind 3.16.1 reports a jump based on uninitialized memory somehow related to clang and signals 433857 Add validation to C++17 aligned new/delete alignment size 433859 Add mismatched detection to C++ 17 aligned new/delete 460192 Add epoll_pwait2 diff --git a/VEX/priv/host_amd64_isel.c b/VEX/priv/host_amd64_isel.c index 8687079c1a..e66c97f64c 100644 --- a/VEX/priv/host_amd64_isel.c +++ b/VEX/priv/host_amd64_isel.c @@ -3721,6 +3721,7 @@ static HReg iselVecExpr_wrk ( ISelEnv* env, const IRExpr* e ) return dst; } + case Iop_ShlN8x16: laneBits = 8; op = Asse_SHL16; goto do_SseShift; case Iop_ShlN16x8: laneBits = 16; op = Asse_SHL16; goto do_SseShift; case Iop_ShlN32x4: laneBits = 32; op = Asse_SHL32; goto do_SseShift; case Iop_ShlN64x2: laneBits = 64; op = Asse_SHL64; goto do_SseShift; @@ -3739,6 +3740,46 @@ static HReg iselVecExpr_wrk ( ISelEnv* env, const IRExpr* e ) vassert(c->tag == Ico_U8); UInt shift = c->Ico.U8; if (shift < laneBits) { + if (laneBits == 8) { + /* This instruction doesn't exist so we need to fake it using + Asse_SHL16 and Asse_SHR16. + + We'd like to shift every byte in the 16-byte register to + the left by some amount. + + Instead, we will make a copy and shift all the 16-bit words + to the *right* by 8 and then to the left by 8 plus the + shift amount. That will get us the correct answer for the + upper 8 bits of each 16-bit word and zero elsewhere. + + Then we will shift all the 16-bit words in the original to + the left by 8 plus the shift amount and then to the right + by 8. This will get the correct answer for the lower 8 + bits of each 16-bit word and zero elsewhere. + + Finally, we will OR those two results together. + + Because we don't have a shift by constant in x86, we store + the constant 8 into a register and shift by that as needed. + */ + AMD64SseOp reverse_op = op; + switch (op) { + case Asse_SHL16: + reverse_op = Asse_SHR16; + break; + default: + vpanic("Iop_ShlN8x16"); + } + HReg hi = newVRegV(env); + addInstr(env, mk_vMOVsd_RR(greg, hi)); + addInstr(env, AMD64Instr_SseShiftN(reverse_op, 8, hi)); + addInstr(env, AMD64Instr_SseShiftN(op, 8+shift, hi)); + addInstr(env, mk_vMOVsd_RR(greg, dst)); + addInstr(env, AMD64Instr_SseShiftN(op, 8+shift, dst)); + addInstr(env, AMD64Instr_SseShiftN(reverse_op, 8, dst)); + addInstr(env, AMD64Instr_SseReRg(Asse_OR, hi, dst)); + return dst; + } addInstr(env, mk_vMOVsd_RR(greg, dst)); addInstr(env, AMD64Instr_SseShiftN(op, shift, dst)); return dst; @@ -3751,6 +3792,30 @@ static HReg iselVecExpr_wrk ( ISelEnv* env, const IRExpr* e ) addInstr(env, AMD64Instr_Push(AMD64RMI_Imm(0))); addInstr(env, AMD64Instr_Push(rmi)); addInstr(env, AMD64Instr_SseLdSt(True/*load*/, 16, ereg, rsp0)); + if (laneBits == 8) { + /* This instruction doesn't exist so we need to fake it, in the same + way as above. + */ + AMD64SseOp reverse_op = op; + switch (op) { + case Asse_SHL16: + reverse_op = Asse_SHR16; + break; + default: + vpanic("Iop_ShlN8x16"); + } + HReg hi = newVRegV(env); + addInstr(env, mk_vMOVsd_RR(greg, hi)); + addInstr(env, AMD64Instr_SseShiftN(reverse_op, 8, hi)); + addInstr(env, AMD64Instr_SseShiftN(op, 8, hi)); + addInstr(env, AMD64Instr_SseReRg(op, ereg, hi)); + addInstr(env, mk_vMOVsd_RR(greg, dst)); + addInstr(env, AMD64Instr_SseShiftN(op, 8, dst)); + addInstr(env, AMD64Instr_SseReRg(op, ereg, dst)); + addInstr(env, AMD64Instr_SseShiftN(reverse_op, 8, dst)); + addInstr(env, AMD64Instr_SseReRg(Asse_OR, hi, dst)); + return dst; + } addInstr(env, mk_vMOVsd_RR(greg, dst)); addInstr(env, AMD64Instr_SseReRg(op, ereg, dst)); add_to_rsp(env, 16); diff --git a/VEX/priv/host_x86_isel.c b/VEX/priv/host_x86_isel.c index 50b3235ac0..a0f6677143 100644 --- a/VEX/priv/host_x86_isel.c +++ b/VEX/priv/host_x86_isel.c @@ -3771,6 +3771,62 @@ static HReg iselVecExpr_wrk ( ISelEnv* env, const IRExpr* e ) return dst; } + case Iop_ShlN8x16: { + /* This instruction doesn't exist so we need to fake it using + Xsse_SHL16 and Xsse_SHR16. + + We'd like to shift every byte in the 16-byte register to the left by + some amount. + + Instead, we will make a copy and shift all the 16-bit words to the + *right* by 8 and then to the left by 8 plus the shift amount. That + will get us the correct answer for the upper 8 bits of each 16-bit + word and zero elsewhere. + + Then we will shift all the 16-bit words in the original to the left + by 8 plus the shift amount and then to the right by 8. This will + get the correct answer for the lower 8 bits of each 16-bit word and + zero elsewhere. + + Finally, we will OR those two results together. + + Because we don't have a shift by constant in x86, we store the + constant 8 into a register and shift by that as needed. + */ + HReg greg = iselVecExpr(env, e->Iex.Binop.arg1); + X86RMI* rmi = iselIntExpr_RMI(env, e->Iex.Binop.arg2); + X86AMode* esp0 = X86AMode_IR(0, hregX86_ESP()); + HReg ereg = newVRegV(env); + HReg eight = newVRegV(env); // To store the constant value 8. + HReg dst = newVRegV(env); + HReg hi = newVRegV(env); + REQUIRE_SSE2; + addInstr(env, X86Instr_Push(X86RMI_Imm(0))); + addInstr(env, X86Instr_Push(X86RMI_Imm(0))); + addInstr(env, X86Instr_Push(X86RMI_Imm(0))); + addInstr(env, X86Instr_Push(rmi)); + addInstr(env, X86Instr_SseLdSt(True/*load*/, ereg, esp0)); + addInstr(env, X86Instr_Push(X86RMI_Imm(0))); + addInstr(env, X86Instr_Push(X86RMI_Imm(0))); + addInstr(env, X86Instr_Push(X86RMI_Imm(0))); + addInstr(env, X86Instr_Push(X86RMI_Imm(8))); + addInstr(env, X86Instr_SseLdSt(True/*load*/, eight, esp0)); + + op = Xsse_SHL16; + X86SseOp reverse_op = Xsse_SHR16; + addInstr(env, mk_vMOVsd_RR(greg, hi)); + addInstr(env, X86Instr_SseReRg(reverse_op, eight, hi)); + addInstr(env, X86Instr_SseReRg(op, eight, hi)); + addInstr(env, X86Instr_SseReRg(op, ereg, hi)); + addInstr(env, mk_vMOVsd_RR(greg, dst)); + addInstr(env, X86Instr_SseReRg(op, eight, dst)); + addInstr(env, X86Instr_SseReRg(op, ereg, dst)); + addInstr(env, X86Instr_SseReRg(reverse_op, eight, dst)); + addInstr(env, X86Instr_SseReRg(Xsse_OR, hi, dst)); + + add_to_esp(env, 32); + return dst; + } case Iop_ShlN16x8: op = Xsse_SHL16; goto do_SseShift; case Iop_ShlN32x4: op = Xsse_SHL32; goto do_SseShift; case Iop_ShlN64x2: op = Xsse_SHL64; goto do_SseShift; diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c index f8aca1641c..ec8ac53217 100644 --- a/memcheck/mc_translate.c +++ b/memcheck/mc_translate.c @@ -1287,6 +1287,126 @@ static IRAtom* expensiveCmpEQorNE ( MCEnv* mce, return final_cast; } +/* Check if we can know, despite the uncertain bits, that xx is greater than yy. + Notice that it's xx > yy and not the other way around. This is Intel syntax + with destination first. It will appear reversed in gdb disassembly (AT&T + syntax). + */ +static IRAtom* expensiveCmpGT ( MCEnv* mce, + IROp opGT, + IRAtom* vxx, IRAtom* vyy, + IRAtom* xx, IRAtom* yy ) +{ + IROp opAND, opOR, opXOR, opNOT, opSHL; + IRType ty; + unsigned int word_size; + Bool is_signed; + + tl_assert(isShadowAtom(mce,vxx)); + tl_assert(isShadowAtom(mce,vyy)); + tl_assert(isOriginalAtom(mce,xx)); + tl_assert(isOriginalAtom(mce,yy)); + tl_assert(sameKindedAtoms(vxx,xx)); + tl_assert(sameKindedAtoms(vyy,yy)); + + switch (opGT) { + case Iop_CmpGT64Sx2: + case Iop_CmpGT64Ux2: + opSHL = Iop_ShlN64x2; + word_size = 64; + break; + case Iop_CmpGT32Sx4: + case Iop_CmpGT32Ux4: + opSHL = Iop_ShlN32x4; + word_size = 32; + break; + case Iop_CmpGT16Sx8: + case Iop_CmpGT16Ux8: + opSHL = Iop_ShlN16x8; + word_size = 16; + break; + case Iop_CmpGT8Sx16: + case Iop_CmpGT8Ux16: + opSHL = Iop_ShlN8x16; + word_size = 8; + break; + default: + VG_(tool_panic)("expensiveCmpGT"); + } + + switch (opGT) { + case Iop_CmpGT64Sx2: + case Iop_CmpGT32Sx4: + case Iop_CmpGT16Sx8: + case Iop_CmpGT8Sx16: + is_signed = True; + break; + case Iop_CmpGT64Ux2: + case Iop_CmpGT32Ux4: + case Iop_CmpGT16Ux8: + case Iop_CmpGT8Ux16: + is_signed = False; + break; + default: + VG_(tool_panic)("expensiveCmpGT"); + } + + ty = Ity_V128; + opAND = Iop_AndV128; + opOR = Iop_OrV128; + opXOR = Iop_XorV128; + opNOT = Iop_NotV128; + + IRAtom *MSBs; + if (is_signed) { + // For unsigned it's easy to make the min and max: Just set the unknown + // bits all to 0s or 1s. For signed it's harder because having a 1 in the + // MSB makes a number smaller, not larger! We can work around this by + // flipping the MSB before and after computing the min and max values. + IRAtom *all_ones = mkV128(0xffff); + MSBs = assignNew('V', mce, ty, binop(opSHL, all_ones, mkU8(word_size-1))); + xx = assignNew('V', mce, ty, binop(opXOR, xx, MSBs)); + yy = assignNew('V', mce, ty, binop(opXOR, yy, MSBs)); + // From here on out, we're dealing with MSB-flipped integers. + } + // We can combine xx and vxx to create two values: the largest that xx could + // possibly be and the smallest that xx could possibly be. Likewise, we can + // do the same for yy. We'll call those max_xx and min_xx and max_yy and + // min_yy. + IRAtom *not_vxx = assignNew('V', mce, ty, unop(opNOT, vxx)); + IRAtom *not_vyy = assignNew('V', mce, ty, unop(opNOT, vyy)); + IRAtom *max_xx = assignNew('V', mce, ty, binop(opOR, xx, vxx)); + IRAtom *min_xx = assignNew('V', mce, ty, binop(opAND, xx, not_vxx)); + IRAtom *max_yy = assignNew('V', mce, ty, binop(opOR, yy, vyy)); + IRAtom *min_yy = assignNew('V', mce, ty, binop(opAND, yy, not_vyy)); + if (is_signed) { + // Unflip the MSBs. + max_xx = assignNew('V', mce, ty, binop(opXOR, max_xx, MSBs)); + min_xx = assignNew('V', mce, ty, binop(opXOR, min_xx, MSBs)); + max_yy = assignNew('V', mce, ty, binop(opXOR, max_yy, MSBs)); + min_yy = assignNew('V', mce, ty, binop(opXOR, min_yy, MSBs)); + } + IRAtom *min_xx_gt_max_yy = assignNew('V', mce, ty, binop(opGT, min_xx, max_yy)); + IRAtom *max_xx_gt_min_yy = assignNew('V', mce, ty, binop(opGT, max_xx, min_yy)); + // If min_xx is greater than max_yy then xx is surely greater than yy so we know + // our answer for sure. If max_xx is not greater than min_yy then xx can't + // possible be greater than yy so again we know the answer for sure. For all + // other cases, we can't know. + // + // So the result is defined if: + // + // min_xx_gt_max_yy | ~max_xx_gt_min_yy + // + // Because defined in vbits is 0s and not 1s, we need to invert that: + // + // ~(min_xx_gt_max_yy | ~max_xx_gt_min_yy) + // + // We can use DeMorgan's Law to simplify the above: + // + // ~min_xx_gt_max_yy & max_xx_gt_min_yy + IRAtom *not_min_xx_gt_max_yy = assignNew('V', mce, ty, unop(opNOT, min_xx_gt_max_yy)); + return assignNew('V', mce, ty, binop(opAND, not_min_xx_gt_max_yy, max_xx_gt_min_yy)); +} /* --------- Semi-accurate interpretation of CmpORD. --------- */ @@ -3913,8 +4033,6 @@ IRAtom* expr2vbits_Binop ( MCEnv* mce, case Iop_Min8Sx16: case Iop_Max8Ux16: case Iop_Max8Sx16: - case Iop_CmpGT8Sx16: - case Iop_CmpGT8Ux16: case Iop_CmpEQ8x16: case Iop_Avg8Ux16: case Iop_Avg8Sx16: @@ -3942,8 +4060,6 @@ IRAtom* expr2vbits_Binop ( MCEnv* mce, case Iop_Min16Ux8: case Iop_Max16Sx8: case Iop_Max16Ux8: - case Iop_CmpGT16Sx8: - case Iop_CmpGT16Ux8: case Iop_CmpEQ16x8: case Iop_Avg16Ux8: case Iop_Avg16Sx8: @@ -3964,9 +4080,17 @@ IRAtom* expr2vbits_Binop ( MCEnv* mce, case Iop_PwExtUSMulQAdd8x16: return binary16Ix8(mce, vatom1, vatom2); - case Iop_Sub32x4: + case Iop_CmpGT64Sx2: + case Iop_CmpGT64Ux2: case Iop_CmpGT32Sx4: case Iop_CmpGT32Ux4: + case Iop_CmpGT16Sx8: + case Iop_CmpGT16Ux8: + case Iop_CmpGT8Sx16: + case Iop_CmpGT8Ux16: + return expensiveCmpGT(mce, op, + vatom1, vatom2, atom1, atom2); + case Iop_Sub32x4: case Iop_CmpEQ32x4: case Iop_QAdd32Sx4: case Iop_QAdd32Ux4: @@ -4000,8 +4124,6 @@ IRAtom* expr2vbits_Binop ( MCEnv* mce, case Iop_Min64Sx2: case Iop_Min64Ux2: case Iop_CmpEQ64x2: - case Iop_CmpGT64Sx2: - case Iop_CmpGT64Ux2: case Iop_QSal64x2: case Iop_QShl64x2: case Iop_QAdd64Ux2: diff --git a/memcheck/tests/amd64/Makefile.am b/memcheck/tests/amd64/Makefile.am index d3b1386a32..0d2812dd89 100644 --- a/memcheck/tests/amd64/Makefile.am +++ b/memcheck/tests/amd64/Makefile.am @@ -19,6 +19,7 @@ EXTRA_DIST = \ insn-pmovmskb.vgtest insn-pmovmskb.stdout.exp insn-pmovmskb.stderr.exp \ insn-pmovmskb.stderr.exp-clang \ more_x87_fp.stderr.exp more_x87_fp.stdout.exp more_x87_fp.vgtest \ + pcmpgt.stderr.exp pcmpgt.vgtest \ sh-mem-vec128-plo-no.vgtest \ sh-mem-vec128-plo-no.stderr.exp \ sh-mem-vec128-plo-no.stdout.exp \ @@ -44,6 +45,7 @@ check_PROGRAMS = \ fxsave-amd64 \ insn-bsfl \ insn-pmovmskb \ + pcmpgt \ sh-mem-vec128 \ sse_memory \ xor-undef-amd64 @@ -76,4 +78,5 @@ insn_pcmpistri_CFLAGS = $(AM_CFLAGS) more_x87_fp_CFLAGS = $(AM_CFLAGS) -O -ffast-math -mfpmath=387 \ -mfancy-math-387 more_x87_fp_LDADD = -lm +pcmpgt_SOURCES = pcmpgt.cpp shr_edx_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@ @FLAG_W_NO_UNINITIALIZED@ diff --git a/memcheck/tests/amd64/pcmpgt.cpp b/memcheck/tests/amd64/pcmpgt.cpp new file mode 120000 index 0000000000..7a9cbee829 --- /dev/null +++ b/memcheck/tests/amd64/pcmpgt.cpp @@ -0,0 +1 @@ +../common/pcmpgt.cpp \ No newline at end of file diff --git a/memcheck/tests/amd64/pcmpgt.stderr.exp b/memcheck/tests/amd64/pcmpgt.stderr.exp new file mode 100644 index 0000000000..05b2d10deb --- /dev/null +++ b/memcheck/tests/amd64/pcmpgt.stderr.exp @@ -0,0 +1,1604 @@ + +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:227) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:227) + +xxxxxxxxxxxxxxxx > xxxxxxxxxxxxxxxx, completely undefined, error above, 1 == 1 +0000000000000000 > 0000000000000000, completely defined, 0 == 0 +0000000000000000 > f000000000000000, completely defined, 0 == 0 +f000000000000000 > 0000000000000000, completely defined, 0 == 0 +0000000000000000 > fxxxxxxxxxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxxxxxxxxxx > fxxxxxxxxxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:233) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:233) + +xxxxxxxxxxxxxxx0 > f000000000000000, undefined, error above, 1 == 1 +xxxxxxxxxxxxxxx1 > 8000000000000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxxxxxxxxxx > 6xxxxxxxxxxxxxxx, defined, 0 == 0 +8xxxxxxxxxxxxxxx > 9xxxxxxxxxxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:237) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:237) + +123456781234567x > 1234567812345678, undefined, error above, 1 == 1 +123456781234567x > 123456781234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:239) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:239) + +123456781234567x > 123456781234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:241) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:241) + +xxxxxxxxxxxxxxxx > xxxxxxxxxxxxxxxx, completely undefined, error above, 1 == 1 +0000000000000000 > 0000000000000000, completely defined, 0 == 0 +0000000000000000 > f000000000000000, completely defined, 0 == 0 +f000000000000000 > 0000000000000000, completely defined, 0 == 0 +0000000000000000 > fxxxxxxxxxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxxxxxxxxxx > fxxxxxxxxxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:247) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:247) + +xxxxxxxxxxxxxxx0 > f000000000000000, undefined, error above, 1 == 1 +xxxxxxxxxxxxxxx1 > 8000000000000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxxxxxxxxxx > 6xxxxxxxxxxxxxxx, defined, 0 == 0 +8xxxxxxxxxxxxxxx > 9xxxxxxxxxxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:251) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:251) + +123456781234567x > 1234567812345678, undefined, error above, 1 == 1 +123456781234567x > 123456781234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:253) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:253) + +123456781234567x > 123456781234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:255) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:255) + +xxxxxxxx > xxxxxxxx, completely undefined, error above, 1 == 1 +00000000 > 00000000, completely defined, 0 == 0 +00000000 > f0000000, completely defined, 0 == 0 +f0000000 > 00000000, completely defined, 0 == 0 +00000000 > fxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxx > fxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:261) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:261) + +xxxxxxx0 > f0000000, undefined, error above, 1 == 1 +xxxxxxx1 > 80000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxx > 6xxxxxxx, defined, 0 == 0 +8xxxxxxx > 9xxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:265) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:265) + +1234567x > 12345678, undefined, error above, 1 == 1 +1234567x > 1234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:267) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:267) + +1234567x > 1234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:269) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:269) + +xxxxxxxx > xxxxxxxx, completely undefined, error above, 1 == 1 +00000000 > 00000000, completely defined, 0 == 0 +00000000 > f0000000, completely defined, 0 == 0 +f0000000 > 00000000, completely defined, 0 == 0 +00000000 > fxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxx > fxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:275) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:275) + +xxxxxxx0 > f0000000, undefined, error above, 1 == 1 +xxxxxxx1 > 80000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxx > 6xxxxxxx, defined, 0 == 0 +8xxxxxxx > 9xxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:279) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:279) + +1234567x > 12345678, undefined, error above, 1 == 1 +1234567x > 1234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:281) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:281) + +1234567x > 1234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:283) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:283) + +xxxxxxxx > xxxxxxxx, completely undefined, error above, 1 == 1 +00000000 > 00000000, completely defined, 0 == 0 +00000000 > f0000000, completely defined, 0 == 0 +f0000000 > 00000000, completely defined, 0 == 0 +00000000 > fxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxx > fxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:289) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:289) + +xxxxxxx0 > f0000000, undefined, error above, 1 == 1 +xxxxxxx1 > 80000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxx > 6xxxxxxx, defined, 0 == 0 +8xxxxxxx > 9xxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:293) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:293) + +1234567x > 12345678, undefined, error above, 1 == 1 +1234567x > 1234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:295) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:295) + +1234567x > 1234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:297) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:297) + +xxxxxxxx > xxxxxxxx, completely undefined, error above, 1 == 1 +00000000 > 00000000, completely defined, 0 == 0 +00000000 > f0000000, completely defined, 0 == 0 +f0000000 > 00000000, completely defined, 0 == 0 +00000000 > fxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxx > fxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:303) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:303) + +xxxxxxx0 > f0000000, undefined, error above, 1 == 1 +xxxxxxx1 > 80000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxx > 6xxxxxxx, defined, 0 == 0 +8xxxxxxx > 9xxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:307) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:307) + +1234567x > 12345678, undefined, error above, 1 == 1 +1234567x > 1234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:309) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:309) + +1234567x > 1234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:311) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:311) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:317) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:317) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:321) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:321) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:323) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:323) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:325) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:325) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:331) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:331) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:335) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:335) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:337) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:337) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:339) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:339) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:345) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:345) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:349) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:349) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:351) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:351) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:353) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:353) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:359) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:359) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:363) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:363) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:365) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:365) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:367) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:367) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:373) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:373) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:377) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:377) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:379) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:379) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:381) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:381) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:387) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:387) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:391) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:391) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:393) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:393) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:395) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:395) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:401) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:401) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 + +More than 100 errors detected. Subsequent errors +will still be recorded, but in less detail than before. +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:405) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:405) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:407) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:407) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:409) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:409) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:415) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:415) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:419) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:419) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:421) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:421) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:423) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:423) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:429) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:429) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:433) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:433) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:435) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:435) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:437) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:437) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:443) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:443) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:447) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:447) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:449) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:449) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:451) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:451) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:457) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:457) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:461) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:461) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:463) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:463) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:465) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:465) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:471) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:471) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:475) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:475) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:477) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:477) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:479) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:479) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:485) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:485) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:489) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:489) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:491) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:491) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:493) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:493) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:499) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:499) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:503) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:503) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:505) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:505) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:507) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:507) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:513) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:513) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:517) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:517) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:519) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:519) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:521) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:521) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:527) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:527) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:531) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:531) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:533) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:533) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:535) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:535) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:541) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:541) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:545) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:545) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:547) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:547) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:549) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:549) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:555) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:555) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:559) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:559) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:561) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:561) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:563) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:563) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:569) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:569) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:573) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:573) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:575) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:575) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:577) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:577) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:583) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:583) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:587) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:587) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:589) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:589) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:591) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:591) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:597) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:597) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:601) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:601) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:603) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:603) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:605) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:605) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:611) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:611) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:615) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:615) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:617) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:617) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:619) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:619) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:625) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:625) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:629) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:629) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:631) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:631) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:633) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:633) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:639) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:639) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:643) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:643) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:645) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:645) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 + +HEAP SUMMARY: + in use at exit: ... bytes in ... blocks + total heap usage: ... allocs, ... frees, ... bytes allocated + +For a detailed leak analysis, rerun with: --leak-check=full + +Use --track-origins=yes to see where uninitialised values come from +For lists of detected and suppressed errors, rerun with: -s +ERROR SUMMARY: 240 errors from 240 contexts (suppressed: 0 from 0) diff --git a/memcheck/tests/amd64/pcmpgt.vgtest b/memcheck/tests/amd64/pcmpgt.vgtest new file mode 100644 index 0000000000..15e0d76051 --- /dev/null +++ b/memcheck/tests/amd64/pcmpgt.vgtest @@ -0,0 +1,3 @@ +prog: pcmpgt amd64 +prereq: test -e pcmpgt +stderr_filter: ../filter_allocs diff --git a/memcheck/tests/common/Makefile.am b/memcheck/tests/common/Makefile.am index d10f9a49ed..f1524bba04 100644 --- a/memcheck/tests/common/Makefile.am +++ b/memcheck/tests/common/Makefile.am @@ -2,6 +2,7 @@ include $(top_srcdir)/Makefile.tool-tests.am EXTRA_DIST = \ + pcmpgt.cpp \ sh-mem-vec128.tmpl.c \ sh-mem-vec128-plo-no.stderr.exp-32bit-le \ sh-mem-vec128-plo-yes.stderr.exp-32bit-le \ diff --git a/memcheck/tests/common/pcmpgt.cpp b/memcheck/tests/common/pcmpgt.cpp new file mode 100644 index 0000000000..388d005119 --- /dev/null +++ b/memcheck/tests/common/pcmpgt.cpp @@ -0,0 +1,649 @@ +/* https://bugs.kde.org/show_bug.cgi?id=432801 */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../../memcheck.h" + +// This function fails when compiled on clang version 10 or greater with -O2. +// It's unused by the test but left here as a copy of the error in the bug +// report https://bugs.kde.org/show_bug.cgi?id=432801 +void standalone() { + struct sigaction act; + if (sigaction(SIGTERM, 0, &act) == 1) { + return; + } + if (sigaction(SIGTERM, 0, &act) == 1) { + return; + } + + char pattern[] = "\x1\x2\x3\x4\x5\x6\x7\x8\x9"; + const unsigned long plen = strlen(pattern); + pattern[1] = 0; + size_t hp=0; + for (size_t i = 0; i < plen; ++i) + hp += pattern[i]; + volatile size_t j = 0; + if (j == hp % 10) { + j++; + } + printf("%zd\n", hp); +} + +typedef union V128 { + struct { + uint64_t w64[2]; /* Note: little-endian */ + }; + struct { + uint32_t w32[4]; /* Note: little-endian */ + }; + struct { + uint16_t w16[8]; /* Note: little-endian */ + }; + struct { + uint8_t w8[16]; /* Note: little-endian */ + }; +} V128; + +template +static T cmpGT(V128 x, V128 y, size_t element_select) = delete; + +template <> +uint64_t cmpGT(V128 x, V128 y, size_t element_select) { + uint8_t x_data[16]; + uint8_t y_data[16]; + memcpy(x_data, &x, sizeof(V128)); + memcpy(y_data, &y, sizeof(V128)); + __asm__ __volatile__( + "movdqu (%1), %%xmm5 \n" + "movdqu (%0), %%xmm6 \n" + // order swapped for AT&T style which has destination second. + "pcmpgtq %%xmm5,%%xmm6 \n" + "movdqu %%xmm6, (%0) \n" + : + : "r"(x_data), "r"(y_data) + : "memory", "xmm5", "xmm6" /* clobbers */); + memcpy(&x, x_data, sizeof(V128)); + + return ((uint64_t*)&x)[element_select]; +} + +template <> +uint32_t cmpGT(V128 x, V128 y, size_t element_select) { + uint8_t x_data[16]; + uint8_t y_data[16]; + memcpy(x_data, &x, sizeof(V128)); + memcpy(y_data, &y, sizeof(V128)); + __asm__ __volatile__( + "movdqu (%1), %%xmm5 \n" + "movdqu (%0), %%xmm6 \n" + // order swapped for AT&T style which has destination second. + "pcmpgtd %%xmm5,%%xmm6 \n" + "movdqu %%xmm6, (%0) \n" + : + : "r"(x_data), "r"(y_data) + : "memory", "xmm5", "xmm6" /* clobbers */); + memcpy(&x, x_data, sizeof(V128)); + + return ((uint32_t*)&x)[element_select]; +} + +template <> +uint16_t cmpGT(V128 x, V128 y, size_t element_select) { + uint8_t x_data[16]; + uint8_t y_data[16]; + memcpy(x_data, &x, sizeof(V128)); + memcpy(y_data, &y, sizeof(V128)); + __asm__ __volatile__( + "movdqu (%1), %%xmm5 \n" + "movdqu (%0), %%xmm6 \n" + // order swapped for AT&T style which has destination second. + "pcmpgtw %%xmm5,%%xmm6 \n" + "movdqu %%xmm6, (%0) \n" + : + : "r"(x_data), "r"(y_data) + : "memory", "xmm5", "xmm6" /* clobbers */); + memcpy(&x, x_data, sizeof(V128)); + + return ((uint16_t*)&x)[element_select]; +} + +template <> +uint8_t cmpGT(V128 x, V128 y, size_t element_select) { + uint8_t x_data[16]; + uint8_t y_data[16]; + memcpy(x_data, &x, sizeof(V128)); + memcpy(y_data, &y, sizeof(V128)); + __asm__ __volatile__( + "movdqu (%1), %%xmm5 \n" + "movdqu (%0), %%xmm6 \n" + // order swapped for AT&T style which has destination second. + "pcmpgtb %%xmm5,%%xmm6 \n" + "movdqu %%xmm6, (%0) \n" + : + : "r"(x_data), "r"(y_data) + : "memory", "xmm5", "xmm6" /* clobbers */); + memcpy(&x, x_data, sizeof(V128)); + + return ((uint8_t*)&x)[element_select]; +} + +static void set_vbits(V128 *addr, V128 vbits) +{ + for (size_t i=0 ; i<2 ; ++i) { + (void)VALGRIND_SET_VBITS(&addr->w64[i], &vbits.w64[i], sizeof(vbits.w64[i])); + } +} + +// Convert a string like "123XXX45" to a value and vbits. +template +static void string_to_vbits(const char *s, T *x, T *vx) +{ + *x = 0; + *vx = 0; + + for (; *s; s++) { + int lowered_c = tolower(*s); + *x <<= 4; + *vx <<= 4; + if (lowered_c == 'x') { + *vx |= 0xf; + } else if (isdigit(lowered_c)) { + *x |= lowered_c - '0'; + } else if (lowered_c >= 'a' && lowered_c <= 'f') { + *x |= lowered_c - 'a' + 0xa; + } else { + fprintf(stderr, "Not a hex digit: %c\n", *s); + exit(1); + } + } +} + +template +static V128 string_to_vbits(const char *s, size_t lane) { + T x, vx; + string_to_vbits(s, &x, &vx); + + V128 vx128 = {{0}}; + vx128.w32[0] = 0xffffffff; + vx128.w32[1] = 0xffffffff; + vx128.w32[2] = 0xffffffff; + vx128.w32[3] = 0xffffffff; + V128 x128 = {{0}}; + if (sizeof(T) == 8) { + vx128.w64[lane] = vx; + x128.w64[lane] = x; + } else if (sizeof(T) == 4) { + vx128.w32[lane] = vx; + x128.w32[lane] = x; + } else if (sizeof(T) == 2) { + vx128.w16[lane] = vx; + x128.w16[lane] = x; + } else { + vx128.w8[lane] = vx; + x128.w8[lane] = x; + } + set_vbits(&x128, vx128); + return x128; +} + +template +static void doit(const char *x, const char *y, bool expected_undefined, const char *err_msg) { + int result = cmpGT(string_to_vbits(x, lane), + string_to_vbits(y, lane), + lane); + int undefined = VALGRIND_CHECK_VALUE_IS_DEFINED(result); + if (!!undefined != expected_undefined) { + fprintf(stderr, "ERROR: "); + } + // Force the result to be used. + if (result) { + fflush(stderr); + } + fprintf(stderr, "%s > %s, %s, %d == %d\n", x, y, err_msg, !!undefined, !!expected_undefined); +} + +int main(int argc, char *argv[]) { + if (argc != 2) { + fprintf(stderr, "First and only argument ought to be \"amd64\" or \"x86\"\n"); + exit(1); + } + bool amd64; + if (strcmp(argv[1], "amd64") == 0) { + amd64 = true; + } else if (strcmp(argv[1], "x86") == 0) { + amd64 = false; + } else { + fprintf(stderr, "First and only argument ought to be \"amd64\" or \"x86\"\n"); + exit(1); + } + if (amd64) { + doit("xxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxx", true, "completely undefined, error above"); + doit("0000000000000000", "0000000000000000", false, "completely defined"); + doit("0000000000000000", "f000000000000000", false, "completely defined"); + doit("f000000000000000", "0000000000000000", false, "completely defined"); + doit("0000000000000000", "fxxxxxxxxxxxxxxx", false, "defined: 0 > all negatives"); + doit("0xxxxxxxxxxxxxxx", "fxxxxxxxxxxxxxxx", false, "defined: non-negatives > all negatives"); + doit("xxxxxxxxxxxxxxx0", "f000000000000000", true, "undefined, error above"); + doit("xxxxxxxxxxxxxxx1", "8000000000000000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxxxxxxxxxxxxxx", "6xxxxxxxxxxxxxxx", false, "defined"); + doit("8xxxxxxxxxxxxxxx", "9xxxxxxxxxxxxxxx", false, "defined"); + doit("123456781234567x", "1234567812345678", true, "undefined, error above"); + doit("123456781234567x", "123456781234567f", false, "defined: x can't be more than f"); + doit("123456781234567x", "123456781234567e", true, "undefined: x can be more than e, error above"); + + doit("xxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxx", true, "completely undefined, error above"); + doit("0000000000000000", "0000000000000000", false, "completely defined"); + doit("0000000000000000", "f000000000000000", false, "completely defined"); + doit("f000000000000000", "0000000000000000", false, "completely defined"); + doit("0000000000000000", "fxxxxxxxxxxxxxxx", false, "defined: 0 > all negatives"); + doit("0xxxxxxxxxxxxxxx", "fxxxxxxxxxxxxxxx", false, "defined: non-negatives > all negatives"); + doit("xxxxxxxxxxxxxxx0", "f000000000000000", true, "undefined, error above"); + doit("xxxxxxxxxxxxxxx1", "8000000000000000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxxxxxxxxxxxxxx", "6xxxxxxxxxxxxxxx", false, "defined"); + doit("8xxxxxxxxxxxxxxx", "9xxxxxxxxxxxxxxx", false, "defined"); + doit("123456781234567x", "1234567812345678", true, "undefined, error above"); + doit("123456781234567x", "123456781234567f", false, "defined: x can't be more than f"); + doit("123456781234567x", "123456781234567e", true, "undefined: x can be more than e, error above"); + } + doit("xxxxxxxx", "xxxxxxxx", true, "completely undefined, error above"); + doit("00000000", "00000000", false, "completely defined"); + doit("00000000", "f0000000", false, "completely defined"); + doit("f0000000", "00000000", false, "completely defined"); + doit("00000000", "fxxxxxxx", false, "defined: 0 > all negatives"); + doit("0xxxxxxx", "fxxxxxxx", false, "defined: non-negatives > all negatives"); + doit("xxxxxxx0", "f0000000", true, "undefined, error above"); + doit("xxxxxxx1", "80000000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxxxxxx", "6xxxxxxx", false, "defined"); + doit("8xxxxxxx", "9xxxxxxx", false, "defined"); + doit("1234567x", "12345678", true, "undefined, error above"); + doit("1234567x", "1234567f", false, "defined: x can't be more than f"); + doit("1234567x", "1234567e", true, "undefined: x can be more than e, error above"); + + doit("xxxxxxxx", "xxxxxxxx", true, "completely undefined, error above"); + doit("00000000", "00000000", false, "completely defined"); + doit("00000000", "f0000000", false, "completely defined"); + doit("f0000000", "00000000", false, "completely defined"); + doit("00000000", "fxxxxxxx", false, "defined: 0 > all negatives"); + doit("0xxxxxxx", "fxxxxxxx", false, "defined: non-negatives > all negatives"); + doit("xxxxxxx0", "f0000000", true, "undefined, error above"); + doit("xxxxxxx1", "80000000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxxxxxx", "6xxxxxxx", false, "defined"); + doit("8xxxxxxx", "9xxxxxxx", false, "defined"); + doit("1234567x", "12345678", true, "undefined, error above"); + doit("1234567x", "1234567f", false, "defined: x can't be more than f"); + doit("1234567x", "1234567e", true, "undefined: x can be more than e, error above"); + + doit("xxxxxxxx", "xxxxxxxx", true, "completely undefined, error above"); + doit("00000000", "00000000", false, "completely defined"); + doit("00000000", "f0000000", false, "completely defined"); + doit("f0000000", "00000000", false, "completely defined"); + doit("00000000", "fxxxxxxx", false, "defined: 0 > all negatives"); + doit("0xxxxxxx", "fxxxxxxx", false, "defined: non-negatives > all negatives"); + doit("xxxxxxx0", "f0000000", true, "undefined, error above"); + doit("xxxxxxx1", "80000000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxxxxxx", "6xxxxxxx", false, "defined"); + doit("8xxxxxxx", "9xxxxxxx", false, "defined"); + doit("1234567x", "12345678", true, "undefined, error above"); + doit("1234567x", "1234567f", false, "defined: x can't be more than f"); + doit("1234567x", "1234567e", true, "undefined: x can be more than e, error above"); + + doit("xxxxxxxx", "xxxxxxxx", true, "completely undefined, error above"); + doit("00000000", "00000000", false, "completely defined"); + doit("00000000", "f0000000", false, "completely defined"); + doit("f0000000", "00000000", false, "completely defined"); + doit("00000000", "fxxxxxxx", false, "defined: 0 > all negatives"); + doit("0xxxxxxx", "fxxxxxxx", false, "defined: non-negatives > all negatives"); + doit("xxxxxxx0", "f0000000", true, "undefined, error above"); + doit("xxxxxxx1", "80000000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxxxxxx", "6xxxxxxx", false, "defined"); + doit("8xxxxxxx", "9xxxxxxx", false, "defined"); + doit("1234567x", "12345678", true, "undefined, error above"); + doit("1234567x", "1234567f", false, "defined: x can't be more than f"); + doit("1234567x", "1234567e", true, "undefined: x can be more than e, error above"); + + doit("xxxx", "xxxx", true, "completely undefined, error above"); + doit("0000", "0000", false, "completely defined"); + doit("0000", "f000", false, "completely defined"); + doit("f000", "0000", false, "completely defined"); + doit("0000", "fxxx", false, "defined: 0 > all negatives"); + doit("0xxx", "fxxx", false, "defined: non-negatives > all negatives"); + doit("xxx0", "f000", true, "undefined, error above"); + doit("xxx1", "8000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxx", "6xxx", false, "defined"); + doit("8xxx", "9xxx", false, "defined"); + doit("123x", "1234", true, "undefined, error above"); + doit("123x", "123f", false, "defined: x can't be more than f"); + doit("123x", "123e", true, "undefined: x can be more than e, error above"); + + doit("xxxx", "xxxx", true, "completely undefined, error above"); + doit("0000", "0000", false, "completely defined"); + doit("0000", "f000", false, "completely defined"); + doit("f000", "0000", false, "completely defined"); + doit("0000", "fxxx", false, "defined: 0 > all negatives"); + doit("0xxx", "fxxx", false, "defined: non-negatives > all negatives"); + doit("xxx0", "f000", true, "undefined, error above"); + doit("xxx1", "8000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxx", "6xxx", false, "defined"); + doit("8xxx", "9xxx", false, "defined"); + doit("123x", "1234", true, "undefined, error above"); + doit("123x", "123f", false, "defined: x can't be more than f"); + doit("123x", "123e", true, "undefined: x can be more than e, error above"); + + doit("xxxx", "xxxx", true, "completely undefined, error above"); + doit("0000", "0000", false, "completely defined"); + doit("0000", "f000", false, "completely defined"); + doit("f000", "0000", false, "completely defined"); + doit("0000", "fxxx", false, "defined: 0 > all negatives"); + doit("0xxx", "fxxx", false, "defined: non-negatives > all negatives"); + doit("xxx0", "f000", true, "undefined, error above"); + doit("xxx1", "8000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxx", "6xxx", false, "defined"); + doit("8xxx", "9xxx", false, "defined"); + doit("123x", "1234", true, "undefined, error above"); + doit("123x", "123f", false, "defined: x can't be more than f"); + doit("123x", "123e", true, "undefined: x can be more than e, error above"); + + doit("xxxx", "xxxx", true, "completely undefined, error above"); + doit("0000", "0000", false, "completely defined"); + doit("0000", "f000", false, "completely defined"); + doit("f000", "0000", false, "completely defined"); + doit("0000", "fxxx", false, "defined: 0 > all negatives"); + doit("0xxx", "fxxx", false, "defined: non-negatives > all negatives"); + doit("xxx0", "f000", true, "undefined, error above"); + doit("xxx1", "8000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxx", "6xxx", false, "defined"); + doit("8xxx", "9xxx", false, "defined"); + doit("123x", "1234", true, "undefined, error above"); + doit("123x", "123f", false, "defined: x can't be more than f"); + doit("123x", "123e", true, "undefined: x can be more than e, error above"); + + doit("xxxx", "xxxx", true, "completely undefined, error above"); + doit("0000", "0000", false, "completely defined"); + doit("0000", "f000", false, "completely defined"); + doit("f000", "0000", false, "completely defined"); + doit("0000", "fxxx", false, "defined: 0 > all negatives"); + doit("0xxx", "fxxx", false, "defined: non-negatives > all negatives"); + doit("xxx0", "f000", true, "undefined, error above"); + doit("xxx1", "8000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxx", "6xxx", false, "defined"); + doit("8xxx", "9xxx", false, "defined"); + doit("123x", "1234", true, "undefined, error above"); + doit("123x", "123f", false, "defined: x can't be more than f"); + doit("123x", "123e", true, "undefined: x can be more than e, error above"); + + doit("xxxx", "xxxx", true, "completely undefined, error above"); + doit("0000", "0000", false, "completely defined"); + doit("0000", "f000", false, "completely defined"); + doit("f000", "0000", false, "completely defined"); + doit("0000", "fxxx", false, "defined: 0 > all negatives"); + doit("0xxx", "fxxx", false, "defined: non-negatives > all negatives"); + doit("xxx0", "f000", true, "undefined, error above"); + doit("xxx1", "8000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxx", "6xxx", false, "defined"); + doit("8xxx", "9xxx", false, "defined"); + doit("123x", "1234", true, "undefined, error above"); + doit("123x", "123f", false, "defined: x can't be more than f"); + doit("123x", "123e", true, "undefined: x can be more than e, error above"); + + doit("xxxx", "xxxx", true, "completely undefined, error above"); + doit("0000", "0000", false, "completely defined"); + doit("0000", "f000", false, "completely defined"); + doit("f000", "0000", false, "completely defined"); + doit("0000", "fxxx", false, "defined: 0 > all negatives"); + doit("0xxx", "fxxx", false, "defined: non-negatives > all negatives"); + doit("xxx0", "f000", true, "undefined, error above"); + doit("xxx1", "8000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxx", "6xxx", false, "defined"); + doit("8xxx", "9xxx", false, "defined"); + doit("123x", "1234", true, "undefined, error above"); + doit("123x", "123f", false, "defined: x can't be more than f"); + doit("123x", "123e", true, "undefined: x can be more than e, error above"); + + doit("xxxx", "xxxx", true, "completely undefined, error above"); + doit("0000", "0000", false, "completely defined"); + doit("0000", "f000", false, "completely defined"); + doit("f000", "0000", false, "completely defined"); + doit("0000", "fxxx", false, "defined: 0 > all negatives"); + doit("0xxx", "fxxx", false, "defined: non-negatives > all negatives"); + doit("xxx0", "f000", true, "undefined, error above"); + doit("xxx1", "8000", false, "defined: ends with 1 > MIN_INT"); + doit("5xxx", "6xxx", false, "defined"); + doit("8xxx", "9xxx", false, "defined"); + doit("123x", "1234", true, "undefined, error above"); + doit("123x", "123f", false, "defined: x can't be more than f"); + doit("123x", "123e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + doit("xx", "xx", true, "completely undefined, error above"); + doit("00", "00", false, "completely defined"); + doit("00", "f0", false, "completely defined"); + doit("f0", "00", false, "completely defined"); + doit("00", "fx", false, "defined: 0 > all negatives"); + doit("0x", "fx", false, "defined: non-negatives > all negatives"); + doit("x0", "f0", true, "undefined, error above"); + doit("x1", "80", false, "defined: ends with 1 > MIN_INT"); + doit("5x", "6x", false, "defined"); + doit("8x", "9x", false, "defined"); + doit("1x", "12", true, "undefined, error above"); + doit("1x", "1f", false, "defined: x can't be more than f"); + doit("1x", "1e", true, "undefined: x can be more than e, error above"); + + + return 0; +} diff --git a/memcheck/tests/x86/Makefile.am b/memcheck/tests/x86/Makefile.am index c8a0cb02fb..37512ceec1 100644 --- a/memcheck/tests/x86/Makefile.am +++ b/memcheck/tests/x86/Makefile.am @@ -16,6 +16,7 @@ EXTRA_DIST = \ pushfpopf.stderr.exp pushfpopf.stdout.exp pushfpopf.vgtest \ pushfw_x86.vgtest pushfw_x86.stdout.exp pushfw_x86.stderr.exp \ pushpopmem.stderr.exp pushpopmem.stdout.exp pushpopmem.vgtest \ + pcmpgt.stderr.exp pcmpgt.vgtest \ sh-mem-vec128-plo-no.vgtest \ sh-mem-vec128-plo-no.stderr.exp \ sh-mem-vec128-plo-no.stdout.exp \ @@ -40,6 +41,7 @@ check_PROGRAMS = \ pushfpopf \ pushfw_x86 \ pushpopmem \ + pcmpgt \ sh-mem-vec128 \ sse_memory \ tronical \ @@ -62,3 +64,4 @@ endif tronical_SOURCES = tronical.S more_x86_fp_LDADD = -lm +pcmpgt_SOURCES = pcmpgt.cpp diff --git a/memcheck/tests/x86/pcmpgt.cpp b/memcheck/tests/x86/pcmpgt.cpp new file mode 120000 index 0000000000..7a9cbee829 --- /dev/null +++ b/memcheck/tests/x86/pcmpgt.cpp @@ -0,0 +1 @@ +../common/pcmpgt.cpp \ No newline at end of file diff --git a/memcheck/tests/x86/pcmpgt.stderr.exp b/memcheck/tests/x86/pcmpgt.stderr.exp new file mode 100644 index 0000000000..5a8a900efe --- /dev/null +++ b/memcheck/tests/x86/pcmpgt.stderr.exp @@ -0,0 +1,1498 @@ + +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:255) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:255) + +xxxxxxxx > xxxxxxxx, completely undefined, error above, 1 == 1 +00000000 > 00000000, completely defined, 0 == 0 +00000000 > f0000000, completely defined, 0 == 0 +f0000000 > 00000000, completely defined, 0 == 0 +00000000 > fxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxx > fxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:261) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:261) + +xxxxxxx0 > f0000000, undefined, error above, 1 == 1 +xxxxxxx1 > 80000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxx > 6xxxxxxx, defined, 0 == 0 +8xxxxxxx > 9xxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:265) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:265) + +1234567x > 12345678, undefined, error above, 1 == 1 +1234567x > 1234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:267) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:267) + +1234567x > 1234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:269) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:269) + +xxxxxxxx > xxxxxxxx, completely undefined, error above, 1 == 1 +00000000 > 00000000, completely defined, 0 == 0 +00000000 > f0000000, completely defined, 0 == 0 +f0000000 > 00000000, completely defined, 0 == 0 +00000000 > fxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxx > fxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:275) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:275) + +xxxxxxx0 > f0000000, undefined, error above, 1 == 1 +xxxxxxx1 > 80000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxx > 6xxxxxxx, defined, 0 == 0 +8xxxxxxx > 9xxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:279) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:279) + +1234567x > 12345678, undefined, error above, 1 == 1 +1234567x > 1234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:281) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:281) + +1234567x > 1234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:283) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:283) + +xxxxxxxx > xxxxxxxx, completely undefined, error above, 1 == 1 +00000000 > 00000000, completely defined, 0 == 0 +00000000 > f0000000, completely defined, 0 == 0 +f0000000 > 00000000, completely defined, 0 == 0 +00000000 > fxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxx > fxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:289) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:289) + +xxxxxxx0 > f0000000, undefined, error above, 1 == 1 +xxxxxxx1 > 80000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxx > 6xxxxxxx, defined, 0 == 0 +8xxxxxxx > 9xxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:293) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:293) + +1234567x > 12345678, undefined, error above, 1 == 1 +1234567x > 1234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:295) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:295) + +1234567x > 1234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:297) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:297) + +xxxxxxxx > xxxxxxxx, completely undefined, error above, 1 == 1 +00000000 > 00000000, completely defined, 0 == 0 +00000000 > f0000000, completely defined, 0 == 0 +f0000000 > 00000000, completely defined, 0 == 0 +00000000 > fxxxxxxx, defined: 0 > all negatives, 0 == 0 +0xxxxxxx > fxxxxxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:303) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:303) + +xxxxxxx0 > f0000000, undefined, error above, 1 == 1 +xxxxxxx1 > 80000000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxxxxxx > 6xxxxxxx, defined, 0 == 0 +8xxxxxxx > 9xxxxxxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:307) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:307) + +1234567x > 12345678, undefined, error above, 1 == 1 +1234567x > 1234567f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:309) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:309) + +1234567x > 1234567e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:311) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:311) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:317) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:317) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:321) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:321) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:323) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:323) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:325) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:325) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:331) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:331) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:335) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:335) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:337) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:337) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:339) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:339) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:345) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:345) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:349) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:349) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:351) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:351) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:353) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:353) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:359) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:359) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:363) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:363) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:365) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:365) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:367) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:367) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:373) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:373) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:377) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:377) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:379) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:379) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:381) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:381) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:387) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:387) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:391) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:391) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:393) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:393) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:395) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:395) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:401) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:401) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:405) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:405) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:407) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:407) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:409) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:409) + +xxxx > xxxx, completely undefined, error above, 1 == 1 +0000 > 0000, completely defined, 0 == 0 +0000 > f000, completely defined, 0 == 0 +f000 > 0000, completely defined, 0 == 0 +0000 > fxxx, defined: 0 > all negatives, 0 == 0 +0xxx > fxxx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:415) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:415) + +xxx0 > f000, undefined, error above, 1 == 1 +xxx1 > 8000, defined: ends with 1 > MIN_INT, 0 == 0 +5xxx > 6xxx, defined, 0 == 0 +8xxx > 9xxx, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:419) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:419) + +123x > 1234, undefined, error above, 1 == 1 +123x > 123f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:421) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:421) + +123x > 123e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:423) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:423) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:429) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:429) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 + +More than 100 errors detected. Subsequent errors +will still be recorded, but in less detail than before. +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:433) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:433) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:435) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:435) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:437) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:437) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:443) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:443) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:447) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:447) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:449) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:449) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:451) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:451) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:457) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:457) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:461) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:461) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:463) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:463) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:465) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:465) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:471) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:471) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:475) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:475) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:477) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:477) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:479) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:479) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:485) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:485) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:489) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:489) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:491) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:491) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:493) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:493) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:499) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:499) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:503) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:503) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:505) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:505) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:507) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:507) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:513) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:513) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:517) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:517) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:519) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:519) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:521) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:521) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:527) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:527) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:531) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:531) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:533) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:533) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:535) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:535) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:541) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:541) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:545) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:545) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:547) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:547) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:549) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:549) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:555) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:555) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:559) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:559) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:561) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:561) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:563) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:563) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:569) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:569) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:573) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:573) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:575) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:575) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:577) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:577) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:583) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:583) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:587) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:587) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:589) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:589) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:591) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:591) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:597) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:597) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:601) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:601) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:603) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:603) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:605) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:605) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:611) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:611) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:615) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:615) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:617) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:617) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:619) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:619) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:625) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:625) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:629) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:629) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:631) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:631) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:633) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:633) + +xx > xx, completely undefined, error above, 1 == 1 +00 > 00, completely defined, 0 == 0 +00 > f0, completely defined, 0 == 0 +f0 > 00, completely defined, 0 == 0 +00 > fx, defined: 0 > all negatives, 0 == 0 +0x > fx, defined: non-negatives > all negatives, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:639) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:639) + +x0 > f0, undefined, error above, 1 == 1 +x1 > 80, defined: ends with 1 > MIN_INT, 0 == 0 +5x > 6x, defined, 0 == 0 +8x > 9x, defined, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:643) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:643) + +1x > 12, undefined, error above, 1 == 1 +1x > 1f, defined: x can't be more than f, 0 == 0 +Uninitialised byte(s) found during client check request + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:201) + by 0x........: main (pcmpgt.cpp:645) + Address 0x........ is on thread 1's stack + in frame #0, created by void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:197) + +Conditional jump or move depends on uninitialised value(s) + at 0x........: void doit(char const*, char const*, bool, char const*) (pcmpgt.cpp:206) + by 0x........: main (pcmpgt.cpp:645) + +1x > 1e, undefined: x can be more than e, error above, 1 == 1 + +HEAP SUMMARY: + in use at exit: ... bytes in ... blocks + total heap usage: ... allocs, ... frees, ... bytes allocated + +For a detailed leak analysis, rerun with: --leak-check=full + +Use --track-origins=yes to see where uninitialised values come from +For lists of detected and suppressed errors, rerun with: -s +ERROR SUMMARY: 224 errors from 224 contexts (suppressed: 0 from 0) diff --git a/memcheck/tests/x86/pcmpgt.vgtest b/memcheck/tests/x86/pcmpgt.vgtest new file mode 100644 index 0000000000..ce87ef78d3 --- /dev/null +++ b/memcheck/tests/x86/pcmpgt.vgtest @@ -0,0 +1,3 @@ +prog: pcmpgt x86 +prereq: test -e pcmpgt +stderr_filter: ../filter_allocs -- 2.43.5