Error: could not generate code within the allowed number of passes.
Well, it took me some time to find what had been causing this error, as no additional information was displayed.
It appeared, that I have a struct definition:
struct EFI_GRAPHICS_OUTPUT_MODE_INFORMATION
Version rd 1
HorizontalResolution rd 1
VerticalResolution rd 1
PixelFormat rd 1
PixelInformation EFI_PIXEL_BITMASK
PixelsPerScanLine rd 1
ends
and I also have a macro
struct VERSION_INFO
Major rd 1
Minor rd 1
Patch rd 1
Build rd 1
ends
macro Version name, ver
match maj.min.p, ver
name VERSION_INFO Major:0x#maj, Minor:0x#min, Patch:0x#p, Build:%t
else
err 'Valid version in x.y.z format is expected'
end match
end macro
Not sure if this is as designed, but if it is, then extreme care should be taken when giving names to macros and structures entries