Before, they were one category of operands which could cause
crashes in non-sensical combinations, e.g. "f32.const symbol".
Now these are forced to be an error.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
We don't have "error" tests for any other illegal operand possibilities, but sure, added a test.
lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp | ||
---|---|---|
92 ↗ | (On Diff #207415) | Isn't this supposed to include both integer and float immediates? (It is an inherited one, so) |
lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp | ||
---|---|---|
92 ↗ | (On Diff #207415) | That really depends on how you define it. "Imm" is a class name driven by the tablegen def, that we happened to use for both int and float, which was problematic, since our emitter assumed they were separate. With this change I force them to be separate in both the def and the code. |
lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp | ||
---|---|---|
92 ↗ | (On Diff #207415) | I see, thanks. |