[GHC] #14312: Head does not build on Windows with the default make config.

GHC ghc-devs at haskell.org
Wed Oct 18 19:54:17 UTC 2017


#14312: Head does not build on Windows with the default make config.
-------------------------------------+-------------------------------------
        Reporter:  AndreasK          |                Owner:  (none)
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Build System      |              Version:  8.3
      Resolution:                    |             Keywords:
Operating System:  Windows           |         Architecture:
 Type of failure:  Building GHC      |  Unknown/Multiple
  failed                             |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4080
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by Phyx-):

 * cc: Phyx- (added)


Comment:

 Replying to [comment:12 hvr]:
 > >
 > > **Specification of Header Files** A C header specified in an import
 declaration is always included by `#include "chname"`. There is no
 explicit support for `#include <chname>` style inclusion. The ISO C99
 standard guarantees that any search path that would be used for a
 `#include <chname>` is also used for `#include "chname"` and it is
 guaranteed that these paths are searched after all paths that are unique
 to `#include "chname"`. Furthermore, we require that chname ends in .h to
 make parsing of the specification of external entities unambiguous.
 >
 > So `capi` kinda adheres to that by using a `#include <chname>` and
 compensating via a `-I.` path included early.
 >

 Unless I'm mistaken, isn't that actually saying that `capi` doesn't follow
 the report? since your quote of the report says:

 >  A C header specified in an import declaration is always included by
 `#include "chname"`.

 So from this line it means we're not following it by generating `#include
 <chname>` doesn't it?

 Using `#include "..."` would solve this problem because it means we can
 avoid the `-I`, which I think it a very bad thing to add implicitly, as it
 overrides everything else.

 We're actually making correct programs break, which is unexpected...

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14312#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list