Skip to content
This repository was archived by the owner on Sep 13, 2022. It is now read-only.
This repository was archived by the owner on Sep 13, 2022. It is now read-only.

array in class problem #85

Description

@cryptowen

You can checkout to this branch to try it yourself: https://github.com/huwenchao/minits/tree/class_fail_to_ll.

# simple array in class works well
$ make class
node build/main/index.js build examples/class.ts -o class.ll
minits:prelude Starts examples/class.ts
minits:prelude Create TmpDir /tmp/minits/48c5737db2abca52030b3b4db3a73eff
minits:prelude Expand examples/class.ts => /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer0.ts
minits:prelude Expand /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer0.ts => /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer1.ts
minits:prelude Expand /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer1.ts => /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer2.ts
minits:prelude Expand /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer2.ts => /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer3.ts
minits:prelude Expand /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer3.ts => /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer4.ts
minits:prelude Expand /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer4.ts => /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer5.ts
minits:prelude Rename /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.layer5.ts => /tmp/minits/48c5737db2abca52030b3b4db3a73eff/output.ts
minits:codegen Declare function Employee_constructor
minits:codegen Declare function main
clang class.ll -o class
./class
Makefile:20: recipe for target 'class' failed
make: *** [class] Error 43

# it failed to generate the ll file when I move the stack from run function to class member
$ make run
node build/main/index.js build examples/brainfuck_class/brainfuck.ts -o brainfuck.ll
minits:prelude Starts examples/brainfuck_class/brainfuck.ts
minits:prelude Create TmpDir /tmp/minits/5e1c70b483242a9fe7e59420fb88f980
minits:prelude Expand examples/brainfuck_class/brainfuck.ts => /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer0.ts
minits:prelude Expand /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer0.ts => /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer1.ts
minits:prelude Expand /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer1.ts => /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer2.ts
minits:prelude Expand /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer2.ts => /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer3.ts
minits:prelude Expand /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer3.ts => /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer4.ts
minits:prelude Expand /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer4.ts => /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer5.ts
minits:prelude Rename /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.layer5.ts => /tmp/minits/5e1c70b483242a9fe7e59420fb88f980/output.ts
minits:codegen Declare function BrainfuckInterpreter_constructor
minits:codegen Declare function BrainfuckInterpreter_reset
minits:codegen Declare function BrainfuckInterpreter_uint8
minits:codegen Declare function BrainfuckInterpreter_run
minits:codegen Declare function BrainfuckInterpreter_putchar
minits:codegen Declare function main
Makefile:5: recipe for target 'brainfuck.ll' failed
make: *** [brainfuck.ll] Segmentation fault (core dumped)

# the ts syntax is well
$ make test
ts-node examples/brainfuck_class/test.ts
code: >++++[<++++++++>-]>++++++++[>++++<-]>>++>>>+>>>+<<<<<<<<<<[-[->+<]>[-<+>>>.<<]>>>[[->++++++++[>++++<-]>.<<[->+<]+>[->++++++++++<<+>]>.[-]>]]+<<<[-[->+<]
+>[-<+>>>-[->+<]++>[-<->]<<<]<<<<]++++++++++.+++.[-]<]+++++

---------- start ----------
                                *
                               * *
                              *   *
                             * * * *
                            *       *
                           * *     * *

I am not sure whether it is array in class issue. I have no idea how to debug it.

Metadata

Metadata

Assignees

No one assigned

    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