3

标题是个小玩笑。

我今天才发现它ghc可以接受任何优化级别而不会抱怨。我知道这-O2应该是最大优化级别,并且这里有一个建议-O3 但我只是好奇当您错误地指定更高的优化级别时会发生什么。ghc是默认-O2还是根本不优化?

4

1 回答 1

11

看起来它被限制在 0 和 2 in 之间compiler/main/DynFlags.hs

updOptLevel :: Int -> DynFlags -> DynFlags
-- ^ Sets the 'DynFlags' to be appropriate to the optimisation level
updOptLevel n dfs
  = dfs2{ optLevel = final_n }
  where
   final_n = max 0 (min 2 n)    -- Clamp to 0 <= n <= 2
   ...
于 2013-04-08T03:01:50.103 回答