This is an archive of the discontinued LLVM Phabricator instance.

[MSVC Compat] Don't evaluate member base expressions w/o side effects
ClosedPublic

Authored by majnemer on Feb 25 2016, 11:20 AM.
Tokens
"Like" token, awarded by andreybokhanko.

Details

Summary

A member expression's base doesn't always have an impact on what the
member decl would evaluate to. In such a case, the base is used as a
poor man's scope qualifier.

This fixes PR26738.

Diff Detail

Repository
rL LLVM

Event Timeline

majnemer updated this revision to Diff 49101.Feb 25 2016, 11:20 AM
majnemer retitled this revision from to [MSVC Compat] Don't evaluate member base expressions w/o side effects.
majnemer updated this object.
majnemer added reviewers: rsmith, andreybokhanko.
majnemer added a subscriber: cfe-commits.
majnemer updated this revision to Diff 49103.Feb 25 2016, 11:37 AM
  • Add support for static data members too.
majnemer updated this revision to Diff 49109.Feb 25 2016, 1:10 PM
  • Refactor this change.
rsmith accepted this revision.Feb 25 2016, 4:40 PM
rsmith edited edge metadata.

Looks terrible, please commit :)

This revision is now accepted and ready to land.Feb 25 2016, 4:40 PM
This revision was automatically updated to reflect the committed changes.

@majnemer, this error in the header is now gone. Thank you! On to more errors! ;-)

Yours,
Andrey