Hi, Mustafa:
I believe the IF statements in that context are conditional assembly statements, not program statements. But I'm not sure, because I don't know what programs you are using, and which program generated the error.
Assuming the context is assembly language, and not Basic or some other language then those statements mean the following:
If the address defined for 'var1' is equal to 5 then compile the assembler instruction 'jmp label1' into the object file, otherwise compile the assembler instruction 'jmp label2' into the object file.
So the only code that is generated is a single 'jmp' instruction, probably to label2.
The reason for the error is that, if 'var1' is relocatable, it doesn't yet have an address to test against. When the assembler evaluates 'var1==5', it realizes that 'var1' is not yet equal to anything, and generates an error.