diff options
author | Tamar Christina <tamar@zhox.com> | 2018-02-19 22:13:46 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-02-19 23:02:10 -0500 |
commit | eb2daa2b6a83412382aa0fcda598f8b3d40fde2c (patch) | |
tree | f38d8e287b7b5132cc456ebe0e2c73b47bf438b3 /docs | |
parent | 71294f30fa20ea9c4653f76da20a5f8170ee415b (diff) | |
download | haskell-eb2daa2b6a83412382aa0fcda598f8b3d40fde2c.tar.gz |
Change how includes for input file directory works
GHC Used to only allow for one include mode, namely `-I`. The problem
with `-I` includes is that it supercedes all other includes, including
the system include paths.
This is not a problem for paths requested by the user, but it is a
problem for the ones we implicitly derive and add.
In particular we add the source directory of the input file to the
include path. This is problematic because it causes any file with the
name of a system include, to inadvertently loop as the wrong file gets
included.
Since this is an implicitly include, and as far as I can tell, only done
so local includes are found (as the sources given to GCC reside in a
temp folder) then switch from `-I` to `-iquote`.
This requires a submodule update for haddock
Test Plan: ./validate
Reviewers: austin, bgamari, hvr
Reviewed By: bgamari
Subscribers: carter, rwbarton, thomie
GHC Trac Issues: #14312
Differential Revision: https://phabricator.haskell.org/D4080
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/8.6.1-notes.rst | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/docs/users_guide/8.6.1-notes.rst b/docs/users_guide/8.6.1-notes.rst index 8f7e961b4f..80beb6c74a 100644 --- a/docs/users_guide/8.6.1-notes.rst +++ b/docs/users_guide/8.6.1-notes.rst @@ -34,6 +34,9 @@ Language Compiler ~~~~~~~~ +- GHC now no longer adds the current file's directory as a general include path + calling the C compiler. Instead we use :ghc-flag:`-iquote` to only add it as + an include path for `#include ""`. See :ghc-ticket:`14312`. Runtime system ~~~~~~~~~~~~~~ @@ -45,7 +48,7 @@ Runtime system - The GHC runtime linker now uses ``LIBRARY_PATH`` and the runtime loader now also searches ``LD_LIBRARY_PATH``. - + Template Haskell ~~~~~~~~~~~~~~~~ |