#4210: LLVM: Dynamic Library Support
-------------------------------------+------------------------------------
Reporter: dterei | Owner: dterei
Type: feature request | Status: patch
Priority: low | Milestone: 7.6.2
Component: Compiler (LLVM) | Version: 6.13
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: Runtime crash | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Changes (by bgamari):
* cc: bgamari@… (added)
* status: new => patch
Comment:
I just sent this [http://www.haskell.org/pipermail/ghc-
devs/2013-December/003531.html message] to the list characterizing the
behavior of the NCG and LLVM backends in handling dynamic references. In
short, the NCG and LLVM backends both handle intra-package references
efficiently. That is, the branch I cited in comment 24 shouldn't be
necessary.
In this case, all we need is the fixes in this
[https://github.com/bgamari/ghc/commits/llvm-dynamic branch] for
functional dynamic linking with the LLVM backend. This has been tested on
both x86_64 and ARM.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4210#comment:25>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#8632: ghc: panic! (the 'impossible' happened)
----------------------------------+---------------------------------------
Reporter: jdoliner | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.4.1
Keywords: | Operating System: Unknown/Multiple
Architecture: x86_64 (amd64) | Type of failure: Compile-time crash
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
----------------------------------+---------------------------------------
I got this message when trying to compile. It appears to be reproducible.
Also I realize this is an outdate version of GHC so I'm going to update
and see if it fixes itself.
(GHC version 7.4.1 for x86_64-unknown-linux):
compiler/rename/RnSource.lhs:429:14-81: Irrefutable pattern failed
for pattern Data.Maybe.Just (inst_tyvars,
_,
SrcLoc.L _ cls,
_)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8632>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#4210: LLVM: Dynamic Library Support
-------------------------------------+------------------------------------
Reporter: dterei | Owner: dterei
Type: feature request | Status: new
Priority: low | Milestone: 7.6.2
Component: Compiler (LLVM) | Version: 6.13
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: Runtime crash | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Changes (by bgamari):
* difficulty: => Unknown
Comment:
I have some work relevant to this in
https://github.com/bgamari/ghc/compare/llvm-intra-package. This branch
both fixes the LLVM backend's support for dynamic linking and attempts to
avoid dynamic references for intra-package calls. That being said, it's
still a work in progress.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4210#comment:24>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#5412: dataTypeConstrs gives unhelpful error message
-------------------------------------+------------------------------------
Reporter: NeilMitchell | Owner: klangner
Type: bug | Status: patch
Priority: normal | Milestone: 7.6.2
Component: libraries/base | Version: 7.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by klangner):
Ok. I fixed 8 previous messages.
But I'm not sure what to do with this code:
Case 1.
{{{
instance Data Char where
toConstr x = mkCharConstr charType x
gunfold _ z c = case constrRep c of
(CharConstr x) -> z x
_ -> error "Data.Data.gunfold(Char)"
dataTypeOf _ = charType
}}}
This instance is defined for Char type. So it is not possible to pass
wrong type here. But I guess there still could be a problem with
constructor representation.
There are similar instances for other data types as well. Lots of them.
Case 2.
In function: '''repConstr''' exception is thrown when parameters have
different data types. So there is a need for another message. I would say
something like:
"Data.Data.repConstr requires the same data type for both parameters."
or similar.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5412#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#5412: dataTypeConstrs gives unhelpful error message
-------------------------------------+------------------------------------
Reporter: NeilMitchell | Owner: klangner
Type: bug | Status: patch
Priority: normal | Milestone: 7.6.2
Component: libraries/base | Version: 7.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by nomeata):
Go for 3! The message will always be of the kind „Data.Data.... is not
supported for ..., as it is not ...“
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5412#comment:13>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#5412: dataTypeConstrs gives unhelpful error message
-------------------------------------+------------------------------------
Reporter: NeilMitchell | Owner: klangner
Type: bug | Status: patch
Priority: normal | Milestone: 7.6.2
Component: libraries/base | Version: 7.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by klangner):
Yes you are right. The problem is that this kind of message can't be used
in other places. So I was not sure if I should change other functions as
well.
On the other hand it would be nice to improve some other error messages
since probably sooner or later this will return as new ticket.
How do you think would be better?
1. Change only function from this ticket description
2. Change only messages where ADT is expected (4 places) and leave other
messages intact.
3. Try to improve other error messages in this module as well.
Third option will require more work and I'll probably need some help with
the message texts.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5412#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#5412: dataTypeConstrs gives unhelpful error message
-------------------------------------+------------------------------------
Reporter: NeilMitchell | Owner: klangner
Type: bug | Status: patch
Priority: normal | Milestone: 7.6.2
Component: libraries/base | Version: 7.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Changes (by nomeata):
* owner: nomeata => klangner
Comment:
Wait: The second patch only modifies `dataTypeConstrs` while the first
patch changes the error message of several functions. Oversight?
Also, I’d add a “`.`” at the end of the message, after all, it is a full
sentence.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5412#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#5412: dataTypeConstrs gives unhelpful error message
-------------------------------------+------------------------------------
Reporter: NeilMitchell | Owner: nomeata
Type: bug | Status: patch
Priority: normal | Milestone: 7.6.2
Component: libraries/base | Version: 7.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Changes (by nomeata):
* owner: klangner => nomeata
Comment:
I just checked the API as well, and there does not seem to exist a clean
way of getting the unqualified name. But as this is just an error message,
I think it’s fine.
I’ll validate and push.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5412#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler