Commit 230f4c6b authored by Peter Maydell's avatar Peter Maydell
Browse files

disas/cris.c: Avoid unintentional sign extension



Commit 001ebaca fixed some unintended sign extension issues
spotted by Coverity (CID 1005402, 1005403), but didn't catch
all of them. Fix the rest, so we behave consistently whether
'long' is 32 bit or 64 bit.

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Reviewed-by: default avatarEdgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 1490970671-20560-1-git-send-email-peter.maydell@linaro.org
parent 6499fd15
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2048,7 +2048,7 @@ print_with_operands (const struct cris_opcode *opcodep,
	  {
	    /* We're looking at [pc+], i.e. we need to output an immediate
	       number, where the size can depend on different things.  */
	    long number;
	    int32_t number;
	    int signedp
	      = ((*cs == 'z' && (insn & 0x20))
		 || opcodep->match == BDAP_QUICK_OPCODE);
@@ -2290,7 +2290,7 @@ print_with_operands (const struct cris_opcode *opcodep,

		    if ((prefix_insn & 0x400) && (prefix_insn & 15) == 15)
		      {
			long number;
			int32_t number;
			unsigned int nbytes;

			/* It's a value.  Get its size.  */