Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track variable substitutions in Core clause patterns #150

Closed
wants to merge 1 commit into from

Conversation

proxyles
Copy link
Contributor

This allows the compiler to properly track aliases and avoids some crash related
to match context reusing as in the following code:

t(Bin1) ->
case Bin1 of
<<>> -> ok;
Bin2 ->
case Bin1 of
<<0>> -> ok;
_ -> Bin2
end
end.

@OTP-Maintainer
Copy link

Unable to build tests: [{file,"sys_core_dsetel.erl"},{line,98}]},
{sys_core_dsetel,visit,2,
[{file,"sys_core_dsetel.erl"},{line,106}]},
{lists,mapfoldl,3,[{file,"lists.erl"},{line,1339}]},
{lists,mapfoldl,3,[{file,"lists.erl"},{line,1340}]},
{sys_core_dsetel,visit,2,
[{file,"sys_core_dsetel.erl"},{line,179}]},
{sys_core_dsetel,visit,2,
[{file,"sys_core_dsetel.erl"},{line,135}]},
{lists,mapfoldl,3,[{file,"lists.erl"},{line,1339}]},
{lists,mapfoldl,3,[{file,"lists.erl"},{line,1340}]}]}
make[2]: *** [eldap_basic_SUITE.beam] Error 1
make[2]: Leaving directory /ldisk/jenkins/workspace/pullrequests/otp/lib/eldap/test' make[1]: *** [release_tests] Error 2 make[1]: Leaving directory/ldisk/jenkins/workspace/pullrequests/otp/lib/eldap/test'
make: *** [lib/eldap/test] Error 2

1 similar comment
@OTP-Maintainer
Copy link

Unable to build tests: [{file,"sys_core_dsetel.erl"},{line,98}]},
{sys_core_dsetel,visit,2,
[{file,"sys_core_dsetel.erl"},{line,106}]},
{lists,mapfoldl,3,[{file,"lists.erl"},{line,1339}]},
{lists,mapfoldl,3,[{file,"lists.erl"},{line,1340}]},
{sys_core_dsetel,visit,2,
[{file,"sys_core_dsetel.erl"},{line,179}]},
{sys_core_dsetel,visit,2,
[{file,"sys_core_dsetel.erl"},{line,135}]},
{lists,mapfoldl,3,[{file,"lists.erl"},{line,1339}]},
{lists,mapfoldl,3,[{file,"lists.erl"},{line,1340}]}]}
make[2]: *** [eldap_basic_SUITE.beam] Error 1
make[2]: Leaving directory /ldisk/jenkins/workspace/pullrequests/otp/lib/eldap/test' make[1]: *** [release_tests] Error 2 make[1]: Leaving directory/ldisk/jenkins/workspace/pullrequests/otp/lib/eldap/test'
make: *** [lib/eldap/test] Error 2

@OTP-Maintainer
Copy link

Unable to fetch branch: fatal: A branch named 'nox/core-clause-subst' already exists.

@nox
Copy link
Contributor

nox commented Dec 1, 2013

Am I supposed to understand what @OTP-Maintainer says?

It would be cool if you guys would mail PR URLs when a mail is sent to erlang-patches, I didn't see this one until now.

@OTP-Maintainer
Copy link

Unable to fetch branch: fatal: A branch named 'nox/core-clause-subst' already exists.

@proxyles
Copy link
Contributor Author

proxyles commented Dec 2, 2013

I will look into this as soon as I can.

@OTP-Maintainer
Copy link

Unable to build otp: m -I/ldisk/jenkins/workspace/pullrequests/otp/erts/include -I/ldisk/jenkins/workspace/pullrequests/otp/erts/include/x86_64-unknown-linux-gnu -I/ldisk/jenkins/workspace/pullrequests/otp/erts/include/internal -I/ldisk/jenkins/workspace/pullrequests/otp/erts/include/internal/x86_64-unknown-linux-gnu -I/ldisk/jenkins/workspace/pullrequests/otp/erts/emulator/sys/unix gen/wxe_funcs.cpp -o x86_64-unknown-linux-gnu/wxe_funcs.o
g++: internal compiler error: Terminated (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.6/README.Bugs for instructions.
make[3]: *** [x86_64-unknown-linux-gnu/wxe_funcs.o] Error 4
make[3]: Leaving directory /ldisk/jenkins/workspace/pullrequests/otp/lib/wx/c_src' make[2]: *** [opt] Error 2 make[2]: Leaving directory/ldisk/jenkins/workspace/pullrequests/otp/lib/wx'
make[1]: *** [opt] Error 2
make[1]: Leaving directory `/ldisk/jenkins/workspace/pullrequests/otp/lib'
make: *** [libs] Error 2

@nox
Copy link
Contributor

nox commented Dec 2, 2013

@proxyles That does not seem related to my patch at all.

@proxyles
Copy link
Contributor Author

proxyles commented Dec 2, 2013

no its not, you can ignore that, build was clubbed to death.

Will run again, and hopefully work ;P

@OTP-Maintainer
Copy link

Patch has passed first testings and has been assigned to be reviewed

@nox
Copy link
Contributor

nox commented Dec 5, 2013

Why is my name "nox" for that patch on the Development page?

This allows the compiler to properly track aliases and avoids some crash related
to match context reusing as in the following code:

t(Bin1) ->
    case Bin1 of
        <<>> -> ok;
        Bin2 ->
            case Bin1 of
                <<0>> -> ok;
                _ -> Bin2
            end
    end.
@OTP-Maintainer
Copy link

Patch has passed first testings and has been assigned to be reviewed

@bjorng
Copy link
Contributor

bjorng commented Feb 6, 2014

When I rebased this branch on the latest master and ran the tests, 6 test cases in the compiler test suite failed.

@nox
Copy link
Contributor

nox commented Feb 6, 2014

Will rebase and look myself, thanks for the report.

@nox
Copy link
Contributor

nox commented Feb 6, 2014

Could you close this one so that I reopen it against master?

@proxyles
Copy link
Contributor Author

proxyles commented Feb 6, 2014

yes sure, closed

@proxyles proxyles closed this Feb 6, 2014
uabboli pushed a commit to uabboli/otp that referenced this pull request Dec 1, 2020
* make term colors optional

Add a 'nocolors' option to suppress all term color output for
later parsing by scripts.

* break cases into two
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants