summaryrefslogtreecommitdiff
path: root/src/compiler/GFC.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/GFC.hs')
-rw-r--r--src/compiler/GFC.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/GFC.hs b/src/compiler/GFC.hs
index 1f0ac870b..352827f6d 100644
--- a/src/compiler/GFC.hs
+++ b/src/compiler/GFC.hs
@@ -4,6 +4,7 @@ module GFC (mainGFC) where
import PGF
import PGF.CId
import PGF.Data
+import PGF.Optimize
import GF.Compile
import GF.Compile.Export
@@ -55,7 +56,8 @@ compileCFFiles opts fs =
unionPGFFiles :: Options -> [FilePath] -> IOE ()
unionPGFFiles opts fs =
do pgfs <- mapM readPGFVerbose fs
- let pgf = foldl1 unionPGF pgfs
+ let pgf0 = foldl1 unionPGF pgfs
+ pgf = if flag optOptimizePGF opts then optimizePGF pgf0 else pgf0
pgfFile = grammarName opts pgf <.> "pgf"
if pgfFile `elem` fs
then putStrLnE $ "Refusing to overwrite " ++ pgfFile