[GHC] #12628: __GLASGOW_HASKELL_LLVM__ is no longer an Int

GHC ghc-devs at haskell.org
Sun Oct 2 00:01:55 UTC 2016


#12628: __GLASGOW_HASKELL_LLVM__ is no longer an Int
-------------------------------------+-------------------------------------
        Reporter:  nicolast          |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.0.2
       Component:  Driver            |              Version:  8.0.1
      Resolution:                    |             Keywords:  llvm cpp
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  Other             |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Ben Gamari <ben@…>):

 In [changeset:"b0d53a839da0149e0142da036b6ebf5a01b3216f/ghc"
 b0d53a83/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="b0d53a839da0149e0142da036b6ebf5a01b3216f"
 Turn `__GLASGOW_HASKELL_LLVM__` into an integer again

 In GHC < 8.0.1, the value of `__GLASGOW_HASKELL_LLVM__`, exposed
 through the preprocessor when compiled with `-fllvm`, was an integer
 value, encoded according to some rules specified in the user guide.

 Due to an oversight, in GHC 8.0.1 the value of this define became a
 tuple, exposed as e.g. `(3, 7)`. This was an unintended regression.

 This patch turns the value of the `__GLASGOW_HASKELL_LLVM__` definition
 into a single integer again, but changes the formatting of said number
 slightly. Before, any LLVM version where the major or minor component >=
 10 would cause ambiguous values for `__GLASGOW_HASKELL_LLVM__`. With
 this patch, the value is in line with `__GLASGOW_HASKELL__`, adding a
 padding `0` in-between major and minor component if applicable (we
 assume no minors >= 100 will ever exist).

 The documentation in the user guide is updated accordingly, and a
 reference is made in the 8.0.2 release notes.

 Test Plan: validate

 Reviewers: bgamari, erikd

 Reviewed By: bgamari

 Subscribers: thomie

 Differential Revision: https://phabricator.haskell.org/D2552

 GHC Trac Issues: #12628
 }}}

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


More information about the ghc-tickets mailing list