Fix TProgram.Uses reserved-word clash (renamed to UsedUnits), nested brace-comment in uParser.pas, and missing uAST in Blaise.pas uses clause. Vendor QBE 1.2 source in vendor/qbe/ (built locally with make; binary excluded via .gitignore). End-to-end pipeline confirmed: Blaise compiles Hello World and Calc (6*7=42) to native x86_64 Linux binaries. 71/71 FPCUnit tests passing.
31 lines
425 B
Plaintext
31 lines
425 B
Plaintext
export
|
|
function w $test() {
|
|
@l0
|
|
%a =l alloc4 4
|
|
%b =l alloc4 4
|
|
%r =l alloc4 4
|
|
storew 747, %a
|
|
storew 380, %b
|
|
@l1
|
|
%t4 =w loadw %b
|
|
jnz %t4, @l2, @l3
|
|
@l2
|
|
%t7 =w loadw %a
|
|
%t8 =w loadw %b
|
|
%t6 =w rem %t7, %t8
|
|
storew %t6, %r
|
|
%t10 =w loadw %b
|
|
storew %t10, %a
|
|
%t12 =w loadw %r
|
|
storew %t12, %b
|
|
jmp @l1
|
|
@l3
|
|
%t13 =w loadw %a
|
|
ret %t13
|
|
}
|
|
|
|
# >>> driver
|
|
# extern int test(void);
|
|
# int main() { return !(test() == 1); }
|
|
# <<<
|