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

fix Issue 16980 - wrong interface called #6383

Merged
merged 1 commit into from
Dec 29, 2016

Conversation

MartinNowak
Copy link
Member

  • ensure that class/interface size is finalized before
    determining the interface offsets

- ensure that class/interface size is finalized before
  determining the interface offsets
@dlang-bot
Copy link
Contributor

Fix Bugzilla Description
16980 [REG2.072.0] wrong interface called

@MartinNowak MartinNowak added the Regression PRs that fix regressions label Dec 29, 2016
@MartinNowak MartinNowak merged commit 6b294ff into dlang:stable Dec 29, 2016
@MartinNowak MartinNowak deleted the fix16980 branch December 29, 2016 16:59
@MartinNowak
Copy link
Member Author

Merging already because we need to build another beta today.

@WalterBright
Copy link
Member

ok

@ghost
Copy link

ghost commented Jan 4, 2017

it could have introduced another regression see https://issues.dlang.org/show_bug.cgi?id=17059.

MartinNowak added a commit to MartinNowak/dmd that referenced this pull request Jan 8, 2017
…face)`

- fixed by tweaking the fix for Issue 16980 (dlang#6383)
- happened b/c TypeClass::implicitConv -> TypeClass::constConv checks
  for offset == 0, which triggered size finalization
- instead handle unfinalized classes in isBaseOf (new OFFSET_FWDREF)
  and only explicity finalize size before optimizing casts
- add a halt for any OFFSET_FWDREF leaking through to IR gen
MartinNowak added a commit to MartinNowak/dmd that referenced this pull request Jan 8, 2017
…face)`

- fixed by tweaking the fix for Issue 16980 (dlang#6383)
- happened b/c TypeClass::implicitConv -> TypeClass::constConv checks
  for offset == 0, which triggered size finalization
- instead handle unfinalized classes in isBaseOf (new OFFSET_FWDREF)
  and only explicity finalize size before optimizing casts
- add a halt for any OFFSET_FWDREF leaking through to IR gen
MartinNowak added a commit to MartinNowak/dmd that referenced this pull request Jan 8, 2017
…face)`

- fixed by tweaking the fix for Issue 16980 (dlang#6383)
- happened b/c TypeClass::implicitConv -> TypeClass::constConv checks
  for offset == 0, which triggered size finalization
- instead handle unfinalized classes in isBaseOf (new OFFSET_FWDREF)
  and only explicity finalize size before optimizing casts
- add a halt for any OFFSET_FWDREF leaking through to IR gen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Regression PRs that fix regressions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants