mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-03 18:47:47 +00:00
5cc130bb6e
Previously, the compiler used LLVM's shift instructions directly, which have UB whenever the shifts are large or negative. This commit adds runtime checks for negative shifts, and handles oversized shifts.
65 lines
423 B
Plaintext
65 lines
423 B
Plaintext
string equality
|
|
true
|
|
false
|
|
false
|
|
true
|
|
string inequality
|
|
false
|
|
true
|
|
false
|
|
true
|
|
false
|
|
true
|
|
false
|
|
true
|
|
false
|
|
true
|
|
false
|
|
true
|
|
true
|
|
false
|
|
false
|
|
true
|
|
array equality
|
|
true
|
|
false
|
|
false
|
|
false
|
|
false
|
|
true
|
|
struct equality
|
|
true
|
|
false
|
|
false
|
|
false
|
|
false
|
|
true
|
|
true
|
|
true
|
|
blank fields in structs
|
|
true
|
|
false
|
|
true
|
|
false
|
|
complex numbers
|
|
true
|
|
false
|
|
false
|
|
false
|
|
true
|
|
true
|
|
false
|
|
false
|
|
false
|
|
true
|
|
true
|
|
true
|
|
shifts
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|
|
true
|