Compiler errors with universal pseudoopcodes
dev-karpov0 opened this issue · 1 comments
dev-karpov0 commented
When we have a single-line__emit {load.u.pri idx}
(or another u. pseudoopcode) statement (with { }
) the compiler throws
an error error 010: invalid function or declaration
new array[32], idx;
main()
{
new addr;
__emit {const.alt array}
__emit {load.u.pri idx}// invalid function or declaration
__emit {idxaddr}
__emit {stor.s.pri addr}
//The same code without { } compiles fine
__emit const.alt array;
__emit load.u.pri idx;
__emit idxaddr;
__emit stor.s.pri addr;
}
Or if we use multiple instruction set per one __emit
statement the compiler 'cuts' the next instruction name after universal pseudoopcode
new array[32], idx;
main()
{
new addr;
__emit {
const.alt array
load.u.pri idx//universal opcode
idxaddr //fatal error 104: invalid assembler instruction "dxaddr"
stor.s.pri addr
}
//in the console output 'i' character is missing ("dxaddr")
}
Workspace Information:
- Compiler version: 3.10.10 and
dev
- Command line arguments provided (or sampctl version):
- Operating System: Windows 10 21H1
stale commented
This issue has been automatically marked as stale because it has not had recent activity.