Module Name: src
Committed By: joerg
Date: Thu Nov 20 21:44:56 UTC 2014
Modified Files:
src/external/gpl3/binutils/dist/gas/config: tc-arm.c
Log Message:
Merge upstream d840c081f8082e8b9e63fead5306643975a97bb3 to fix
UB as seen by a clang compiled as.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/binutils/dist/gas/config/tc-arm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/binutils/dist/gas/config/tc-arm.c
diff -u src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.6 src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.7
--- src/external/gpl3/binutils/dist/gas/config/tc-arm.c:1.6 Sun Sep 29 14:03:30 2013
+++ src/external/gpl3/binutils/dist/gas/config/tc-arm.c Thu Nov 20 21:44:56 2014
@@ -6936,7 +6936,7 @@ parse_operands (char *str, const unsigne
/* Functions for operand encoding. ARM, then Thumb. */
-#define rotate_left(v, n) (v << n | v >> (32 - n))
+#define rotate_left(v, n) (v << (n & 31) | v >> ((32 - n) & 31))
/* If VAL can be encoded in the immediate field of an ARM instruction,
return the encoded form. Otherwise, return FAIL. */