[Git][ghc/ghc][wip/andreask/rules-omit-fix] Fix #22048 where we failed to drop rules for -fomit-interface-pragmas.
Andreas Klebinger (@AndreasK)
gitlab at gitlab.haskell.org
Fri Aug 19 11:13:57 UTC 2022
Andreas Klebinger pushed to branch wip/andreask/rules-omit-fix at Glasgow Haskell Compiler / GHC
Commits:
411e8813 by Andreas Klebinger at 2022-08-19T13:12:18+02:00
Fix #22048 where we failed to drop rules for -fomit-interface-pragmas.
Now we also filter the local rules (again) which fixes the issue.
- - - - -
3 changed files:
- compiler/GHC/Iface/Tidy.hs
- + testsuite/tests/driver/T22048.hs
- testsuite/tests/driver/all.T
Changes:
=====================================
compiler/GHC/Iface/Tidy.hs
=====================================
@@ -1048,7 +1048,8 @@ findExternalRules opts binds imp_id_rules unfold_env
-- In needed_fvs', we don't bother to delete binders from the fv set
local_rules = [ rule
- | id <- bndrs
+ | (opt_expose_rules opts)
+ , id <- bndrs
, is_external_id id -- Only collect rules for external Ids
, rule <- idCoreRules id
, expose_rule rule ] -- and ones that can fire in a client
=====================================
testsuite/tests/driver/T22048.hs
=====================================
@@ -0,0 +1,11 @@
+module T22048 where
+
+{-# NOINLINE g #-}
+g :: Bool -> Bool
+g = not
+
+-- With -fomit-interface-pragmas these rules should not make it into interface files.
+{-# RULES
+"imported_rule" [~1] forall xs. map g xs = []
+"local_rule" [~1] forall . g True = False
+#-}
=====================================
testsuite/tests/driver/all.T
=====================================
@@ -312,3 +312,4 @@ test('T21866', normal, multimod_compile, ['T21866','-no-link'])
test('T21349', extra_files(['T21349']), makefile_test, [])
test('T21869', [normal, when(unregisterised(), skip)], makefile_test, [])
test('T22044', normal, makefile_test, [])
+test('T22048', [only_ways(['normal']), grep_errmsg("_rule")], compile, ["-O -fomit-interface-pragmas -ddump-simpl"])
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/411e881309614e60459a078bdc16afbff094f316
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/411e881309614e60459a078bdc16afbff094f316
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20220819/301b8984/attachment-0001.html>
More information about the ghc-commits
mailing list