Skip to content

Bug: Assign to var in Structs - C backend #1983

Open
@ronnuriel

Description

@ronnuriel

Segmentation fault hen assigning val to struct

from lpython import packed, dataclass, i8, u8, u16, i64, i32, u32, u64, u16, ccall, union, Union

@packed
@dataclass
class gd_lab_2_add_u16_data:
    input_a: u64
    input_b: u64
    output: u64

@packed
@dataclass
class gd_lab_2_exercise_data:
    input_a: u64
    input_b: u64
    input_c: u64
    output: u64

@packed
@dataclass
class gd_lab_2_cmd:
    cmd: u32

    @ccall
    @union
    class u(Union):
        add_u16_data: gd_lab_2_add_u16_data = gd_lab_2_add_u16_data(u64(0), u64(0), u64(0))
        exercise_data: gd_lab_2_exercise_data = gd_lab_2_exercise_data(u64(0), u64(0), u64(0), u64(0))


def create_gd_lab_2_cmd_test():
    # Create an instance of gd_lab_2_add_u16_data with sample values
    add_data: gd_lab_2_add_u16_data = gd_lab_2_add_u16_data(u64(10), u64(20), u64(30))

    # Create an instance of gd_lab_2_exercise_data with sample values
    exercise_data: gd_lab_2_exercise_data = gd_lab_2_exercise_data(u64(1), u64(2), u64(3), u64(4))

    # # Create an instance of gd_lab_2_cmd

When assigning to gd_lab_2_cmd(cmd=u32(123)) lpython breaks:
cmd : gd_lab_2_cmd = gd_lab_2_cmd(cmd=u32(123))

Error msg:
zsh: segmentation fault

The following line works:
cmd : gd_lab_2_cmd = gd_lab_2_cmd(u32(123))

Metadata

Metadata

Assignees

No one assigned

    Labels

    asrASR related changesbugSomething isn't workingcLabel for C language related changes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions