Hey all,
Hope you aren't tired of hearing from me yet!

I came across an interesting issue that can occur during the dead code
elimination pass:
    internal error: MIS0386 chpl Version 1.11.0

I haven't been able to figure out what causes it, and unfortunately I
cannot give you the code that I have that causes it (since its an academic
assignment).

But it goes something like this:
Suppose you have the files
A.chpl
B.chpl
A_test.chpl
B_test.chpl
GeneralTools.chpl

where each file defines a module, and the *_test files define unit tests
inside their modules, including a main() procedure.

All the modules use some of the standard modules (IO, Regexp, List, etc)
and all A* and B* modules use GeneralTools.
However, A and B do not use each other, nor do A_test and B_test; A_test
only uses A, and B_test only uses B.

Now, because you want a simple makefile, the compile command (say, for
A_test) looks like:
chpl A.chpl B.chpl GeneralTools.chpl A_test.chpl --main-module A_test -o
A_test_exe

This works fine on A_test, but when tried with B_test (chpl A.chpl B.chpl
GeneralTools.chpl A_test.chpl --main-module B_test -o B_test_exe), it
errors (for some unknown reason) in the internal error mentioned above.

Whats interesting, is that if B_test is modified to use A, the error goes
away.

I have determined that this is caused during the dead code elimination
pass, because the error is suppressed with --no-dead-code-elimination.

I'll see what I can figure out, but I thought I'd bring it to your
attention.

-Ian J. Bertolacci
------------------------------------------------------------------------------
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users

Reply via email to