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

array in class problem #85

Open
cryptowen opened this issue Jan 7, 2020 · 0 comments
Open

array in class problem #85

cryptowen opened this issue Jan 7, 2020 · 0 comments

Comments

@cryptowen
Copy link

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant