Add import facility to cmm parser
The cmm parser classified all unknown variables as imported. This behaviour is not changed with this patch. Explicitly imported variables get a different internal label type, namely ForeignLabel instead of RtsLabel. In PIC compilation, the NCG creates dynamic access for ForeignLabel, while RtsLabel are not treated as PIC when -package rts. Hence, putting explicit imports into cmm files enables the NCG to distinguish between RTS-external and RTS-internal symbols, and create the appropriate code.
Showing with 8 additions and 1 deletion