hsc2hs --cross-compile does not handle negative #enum
#define NAME -1
data SomeType = SomeCons Integer
#{enum SomeType, SomeCons, NAME}
Output with hsc2hs or even hsc2hs --cross-safe :
{-# OPTIONS_GHC -optc-DNAME=-1 #-}
{-# LINE 1 "t.hsc" #-}
{-# LINE 2 "t.hsc" #-}
data SomeType = SomeCons Integer
name :: SomeType
name = SomeCons (-1)
{-# LINE 6 "t.hsc" #-}
Output with hsc2hs --cross-compile:
{-# LINE 1 "t.hsc" #-}
#line 1 "t.hsc"
#define NAME -1
{-# LINE 2 "t.hsc" #-}
data SomeType = SomeCons Integer
name :: SomeType
name = SomeCons -1
{-# LINE 6 "t.hsc" #-}
Which produces a compiler error.
Trac metadata
Trac field | Value |
---|---|
Version | 7.6.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | hsc2hs |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |