Fix GEq1 when optimizations are enabled
authorRyanGlScott <ryan.gl.scott@gmail.com>
Tue, 29 Dec 2015 12:43:52 +0000 (13:43 +0100)
committerBen Gamari <ben@smart-cactus.org>
Tue, 29 Dec 2015 13:13:34 +0000 (14:13 +0100)
commit8e735fd0f88454b74fbb866a59b608925a2b3e48
tree5e1f4db982fb8d72450799dfce68f4049ada5cf1
parent5bb7fecb09f828ea41e5b5a295ea159fa405dcc5
Fix GEq1 when optimizations are enabled

When optimizations are enabled, primitive string literals can be
inlined, which can create two copies of a string constant with different
addresses. We want to avoid this behavior at all costs in the `GEq1`
test, since the output depends on the result of `eqAddr#`. We prevent
such inlining through use of the `{-# NOINLINE #-}` pragma.

Fixes #11292.

Test Plan: Validate with T11292

Reviewers: thomie, austin, bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D1714

GHC Trac Issues: #11292
testsuite/tests/generics/GEq/GEq1.hs