hsc2hs parses incorrectly '#ifdef' under '#{enum' in '--cross-compile' mode
The code is simplified version of something from Win32 package (https://github.com/haskell/win32/blob/master/System/Win32/SimpleMAPI.hsc#L56):
#{enum Int ,
, a = sizeof(int)
#if 0
, b = sizeof(char)
#endif
}
$ hsc2hs b.hsc -o b.hs-native
$ hsc2hs b.hsc -o b.hs-cross --cross-compile
b.hsc:1 sizeof(int)
#if 0
is not an integer
I'm not sure if it's a valid .hsc but having at least the same (valid or invalid) result in both modes would be nice.
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | hsc2hs |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | Phyx-, hvr |
Operating system | |
Architecture |