CoreLint: Assert that string literals aren't tick'd
Needs RevisionPublic

Authored by bgamari on Sep 5 2017, 5:04 AM.

Details

Reviewers
austin
goldfire
niteria
Trac Issues
#14123
Summary

This invariant was already stated in Note [CoreSyn top-level string literals]
but wasn't checked.

See Trac #14123.

Test Plan

Validate

bgamari created this revision.Sep 5 2017, 5:04 AM
austin accepted this revision.Nov 6 2017, 3:55 PM
This revision is now accepted and ready to land.Nov 6 2017, 3:55 PM
osa1 added a subscriber: osa1.Tue, Jan 23, 2:24 AM
niteria added a subscriber: niteria.Thu, Feb 8, 8:35 AM
niteria added inline comments.
compiler/coreSyn/CoreLint.hs
714

I've just patched this to see what's going on with Trac #14779. It produced some nonsense. The condition needs to be flipped:

= do lintL (not $ exprIsLiteralString expr)
niteria requested changes to this revision.Thu, Feb 8, 8:36 AM
This revision now requires changes to proceed.Thu, Feb 8, 8:36 AM
simonpj added a subscriber: simonpj.Thu, Feb 8, 8:56 AM

Please document whatever invariant is being enforced -- and then make Lint point to the invariant.

bgamari added inline comments.Thu, Feb 8, 6:19 PM
compiler/coreSyn/CoreLint.hs
714

Heh, of course. Good catch!