Skip to content

Import Statement doesn't cover constant strings #44

@yasinxdxd

Description

@yasinxdxd

test-print.tile

func print(str: string): void {
    tasm {
        "load 0",
        "puts"
    }
}

func printchar(c: char): void {
    tasm {
        "load 0",
        "putc"
    }
}

func print_int(num: int): void {
    if (num == 0) {
        print("0\n");
        return;
    }

    if (num < 0) {
        print("-");
        num = -num;
    }

    // Store digits in reverse
    buffer: char[] = char[10];
    
    i: int = 0;
    while (num > 0) {
        buffer[i] = (num % 10) + (int)'0';
        num = num / 10;
        i = i + 1;
    }

    // Print digits in correct order
    for (j: int = i - 1; j >= 0; j--) {
        printchar(buffer[j]);
    }
    print("\n");
}

func print_int_arr(arr: int[], size: int): void {
    for (i: int = 0; i < size; i++) {
        print_int(arr[i]);
    }
}

test.tile

import "test-print.tile";

func main(argc: int): void {
    print_int(15);
}

output:
15ERROR: Exception occured EXCEPT_INVALID_CONSTANT_ADDRESS_ACCESS

in generated .tasm file there is no constant definition of string as @data "\n"

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions