[GHC] #13609: regression: `ANN` pragmas for TH-less GHCs no longer ignored in GHC 8.2.1

#13609: regression: `ANN` pragmas for TH-less GHCs no longer ignored in GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: GHC rejects Unknown/Multiple | valid program Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Consider {{{#!hs module M where {-# ANN myId "HLint: ignore" #-} myId :: a -> a myId x = x }}} GHC 8.0.2 would simply ignore them: {{{ $ ghc-8.0.2 -c M.hs M.hs:3:1: warning: Ignoring ANN annotation, because this is a stage-1 compiler or doesn't support GHCi }}} however, with a recent GHC 8.2 snapshot this just fails with {{{ $ ghc-8.2 -c M.hs ghc: this operation requires -fexternal-interpreter }}} This is a serious problem because `hlint` annotations are quite popular, and this would require us to retrofit `other-extensions: TemplateHaskell` into the meta-data of quite a few packages on Hackage to declare that a package no longer works with a TH-less GHC (which would basically mean that ports of GHC such as the one for AIX that don't support TH will become very inconvenient to use and require to pester package authors to explicitly guard `ANN` pragmas with CPP... which I'm not looking forward to ;-) ). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by hvr): And btw, `-fexternal-interpreter` doesn't work on AIX either, for the same reason there's no GHCi or TH support: `loadArchive` doesn't support XCOFF (which is even worse than Windows' COFF flavour - i.e. not going to happen), and adding support for the dynamic linker on AIX isn't going to happen any time soon either (partly because XCOFF imposes quite a lot of limitations one would have to workaround). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * cc: shlevy (added) Comment: Commit 27f79255634d9789f367273504545c1ebfad90a0 (Allow use of the external interpreter in stage1) is the culprit. cc'ing shlevy, the author. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by shlevy): Ack, will look at it ASAP -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * priority: high => highest Comment: This is definitely a release blocker. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by shlevy): * Attachment "13609.patch" added. Untested fix -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by shlevy): hvr can you test this ^ ? I can test this evening if not. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: patch Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by hvr): * status: new => patch -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: patch Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by shlevy): https://phabricator.haskell.org/D3496 <- tested this locally, M.hs now works as expected with and without -fexternal-interpreter in stage1. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: patch Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by hvr): I've tested the patch on AIX, and it appears to work well there. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: patch Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3496 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * differential: => Phab:D3496 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: patch Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: stage1/T13609 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3496 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * testcase: => stage1/T13609 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1
-------------------------------------+-------------------------------------
Reporter: hvr | Owner: (none)
Type: bug | Status: patch
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version: 8.2.1-rc1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects | Unknown/Multiple
valid program | Test Case: stage1/T13609
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D3496
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ben Gamari

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1
-------------------------------------+-------------------------------------
Reporter: hvr | Owner: (none)
Type: bug | Status: patch
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version: 8.2.1-rc1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects | Unknown/Multiple
valid program | Test Case: stage1/T13609
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D3496
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ben Gamari

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1
-------------------------------------+-------------------------------------
Reporter: hvr | Owner: (none)
Type: bug | Status: patch
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version: 8.2.1-rc1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects | Unknown/Multiple
valid program | Test Case: stage1/T13609
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D3496
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ben Gamari

#13609: regression: `ANN` pragmas no longer ignored in TH-less GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: closed Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: stage1/T13609 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3496 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: patch => closed * resolution: => fixed Comment: Merged to `ghc-8.2` as 944630400117acdf2f97759b7ed8678e8d6cdf92, f8d909ba2ab9ccc89cf59a1097d78da8f82c793f, and f8d909ba2ab9ccc89cf59a1097d78da8f82c793f. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC