
#10977: Arm: Undeclared indentifier when build un-registerised ----------------------------------------+---------------------------------- Reporter: erikd | Owner: erikd Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: rts linker Operating System: Unknown/Multiple | Architecture: arm Type of failure: Building GHC failed | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ----------------------------------------+---------------------------------- Comment (by erikd): This problem is really easy to fix by pulling: {{{#!C int target_shndx = shdr[shnum].sh_info; }}} out of the `#ifdef`, but that just fixes the most obvious and immediate problem. The real problem is the heavy usage of `#ifdef` in this file. For instance, I cannot figure out why in this line {{{ #if defined(DEBUG) || defined(sparc_HOST_ARCH) || defined(ia64_HOST_ARCH) || \ defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH) }}} Sparc, Ia64, PowerPC and x86_64 are all included, but i386, Arm and PowerPC64 are not. Furthermore, when someone is working on a new architecture like AArch64, how are they supposed to know whether it should be part of this magical set or not? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10977#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler