Fixes bug in byte optimization rule and adds tests.

This commit is contained in:
Bhargava Shastry
2019-03-21 14:29:06 +01:00
parent 867e5bc64d
commit f7b5a27581
6 changed files with 60 additions and 2 deletions
+11
View File
@@ -1,4 +1,15 @@
[
{
"name": "IncorrectByteInstructionOptimization",
"summary": "The optimizer incorrectly handles byte opcodes whose second argument is 31 or a constant expression that evaluates to 31. This can result in unexpected values.",
"description": "The optimizer incorrectly handles byte opcodes that use the constant 31 as second argument. This can happen when performing index access on bytesNN types with a compile-time constant value (not index) of 31 or when using the byte opcode in inline assembly.",
"introduced": "0.5.5",
"fixed": "0.5.7",
"severity": "very low",
"conditions": {
"optimizer": true
}
},
{
"name": "DoubleShiftSizeOverflow",
"summary": "Double bitwise shifts by large constants whose sum overflows 256 bits can result in unexpected values.",
+4 -1
View File
@@ -631,12 +631,15 @@
},
"0.5.5": {
"bugs": [
"IncorrectByteInstructionOptimization",
"DoubleShiftSizeOverflow"
],
"released": "2019-03-05"
},
"0.5.6": {
"bugs": [],
"bugs": [
"IncorrectByteInstructionOptimization"
],
"released": "2019-03-13"
}
}