From fbc2537c0b2cbe947684bb39669643f1ef9d96c0 Mon Sep 17 00:00:00 2001 From: Thomas Miedema Date: Wed, 11 Nov 2015 11:05:16 +0100 Subject: OPTIONS_GHC compiler flags may contain spaces (#4931) When a .hsc contains `#define FOO "bar baz"`, hsc2hs emits: {-# OPTIONS_GHC -optc-DFOO="bar baz" #-} Make sure GHC can compile this, by tweaking `HeaderInfo.getOptions` a bit. Test Plan: driver/T4931 Reviewers: austin, bgamari Reviewed By: bgamari Differential Revision: https://phabricator.haskell.org/D1452 GHC Trac Issues: #4931 --- compiler/main/HeaderInfo.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'compiler/main/HeaderInfo.hs') diff --git a/compiler/main/HeaderInfo.hs b/compiler/main/HeaderInfo.hs index b4c3f81678..08c761994a 100644 --- a/compiler/main/HeaderInfo.hs +++ b/compiler/main/HeaderInfo.hs @@ -236,8 +236,9 @@ getOptions' dflags toks parseToks (open:close:xs) | IToptions_prag str <- getToken open , ITclose_prag <- getToken close - = map (L (getLoc open)) (words str) ++ - parseToks xs + = case toArgs str of + Left err -> panic ("getOptions'.parseToks: " ++ err) + Right args -> map (L (getLoc open)) args ++ parseToks xs parseToks (open:close:xs) | ITinclude_prag str <- getToken open , ITclose_prag <- getToken close -- cgit v1.2.1