Skip to content

Fix segfault when checking goto in finally if resolve was delayed to runtime - #165

Closed
reeze wants to merge 1 commit into
php:masterfrom
reeze:fix-finally-goto
Closed

reeze wants to merge 1 commit into
php:masterfrom
reeze:fix-finally-goto

Conversation

@reeze

@reeze reeze commented Aug 16, 2012

Copy link
Copy Markdown
Contributor

if zend_resolve_goto_label() was delayed to runtime. CG(active_op_array) will be not a valid pointer(NULL).

This fixed the following two tests failed:

  • Zend/tests/exception_002.phpt
  • Zend/tests/jump13.phpt

Hi, @laruence will you take look ? :)

Thanks

…runtime

This fixed the following two tests failed:
- Zend/tests/exception_002.phpt
- Zend/tests/jump13.phpt
@travisbot

Copy link
Copy Markdown

This pull request fails (merged 77d4879 into 6a87a21).

@laruence

Copy link
Copy Markdown
Member

I was interrupt by some stuff, but I find that when I run the whole test later, patient is virtue..

@reeze

reeze commented Aug 16, 2012

Copy link
Copy Markdown
Contributor Author

I see. Keep moving.
This could be closed when you fixed that :)

@php-pulls

Copy link
Copy Markdown

Comment on behalf of laruence at php.net:

it's under working, and already be fixed. thanks

@php-pulls php-pulls closed this Aug 16, 2012
heyJordanParker added a commit to heyJordanParker/php-sharp that referenced this pull request Oct 13, 2026
…urces

fix: a project with a law compiles cleanly twice, and proves its law with the standard library installed
heyJordanParker added a commit to heyJordanParker/php-sharp that referenced this pull request Oct 13, 2026
Problem: PR php#152 must be up to date with master. Master gained php#164, which
leaves `unreachable!` lines out of patch-coverage. It also gained php#163, which
adds List insert, remove and clear, and php#165, which fixes a project with a law
that compiles twice. php#163's `takes_operands` calls
`ComparisonResult::with_sharp_rules(true)`, which this branch replaced in its
#129 merge, so the merged tree did not compile.

Solution: merge master. Git merged every file on its own. `takes_operands` builds
its result with `ComparisonResult::for_dialect(Dialect::Sharp)`, the branch's one
constructor path. Master's `with_sharp_rules(true)` made the same result. The
analyzer, semantics, bridge and names suites and the root compile tests pass on
the merged tree, and clippy reports nothing.

crates/
├── analyzer/src/expression/binary/utils.rs   for_dialect(Dialect::Sharp) in takes_operands
├── analyzer/src/expression/call/method_call.rs  master's search runs after the call's type is known
├── names/src/lib.rs                          master's insert, remove and clear
└── sharp-bridge/                             master's List changes beside this branch's checks
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.

4 participants