在我的堆栈配置中,我有一个优化标志列表,我通常会将其传递给GHC,但我尝试了最新版本的GHC,该版本不赞成使用其中一个。在编译过程中,GHC对此向我发出了警告,但仍然编译了所有内容。
当这种情况发生时,实际会发生什么?有什么后果吗?它只是忽略了那个标志,但仍然通过了我的其余优化标志吗?
感谢
当您将未知标志传递给GHC时,您将得到一个错误,编译将失败。
另一方面,当使用不推荐使用的标志时,它取决于该标志。例如,使用-auto
会警告您应该使用-fprof-auto-exported
,但无论如何都会触发后者。只是也许在GHC的几个版本中,弃用的标志会消失。对于-funfolding-keeness-factor
,GHC告诉我们它不再受尊重,所以您可以传递标志,但它不应该影响编译。