Simon Jakobi pushed to branch wip/sjakobi/deprecated-flags-2016 at Glasgow Haskell Compiler / GHC
Commits:
-
62b509fe
by Simon Jakobi at 2026-10-13T21:43:20+02:00
-
15f211c9
by Simon Jakobi at 2026-10-13T22:00:15+02:00
29 changed files:
- + changelog.d/remove-long-deprecated-flags.md
- compiler/GHC/CmmToC.hs
- compiler/GHC/CoreToStg.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Parser/Errors/Ppr.hs
- compiler/GHC/Parser/Errors/Types.hs
- compiler/GHC/Parser/Header.hs
- compiler/GHC/Parser/Lexer.x
- compiler/GHC/Stg/Make.hs
- compiler/GHC/Types/Tickish.hs
- docs/users_guide/codegens.rst
- docs/users_guide/expected-undocumented-flags.txt
- docs/users_guide/exts/control.rst
- docs/users_guide/exts/ffi.rst
- docs/users_guide/exts/pragmas.rst
- docs/users_guide/ghc.rst
- docs/users_guide/profiling.rst
- − docs/users_guide/what_glasgow_exts_does.rst
- testsuite/tests/driver/Makefile
- testsuite/tests/driver/T2464.hs
- testsuite/tests/driver/T2464.stderr
- testsuite/tests/ffi/should_run/T2594.hs
- testsuite/tests/ffi/should_run/ffi015.hs
- testsuite/tests/ffi/should_run/fptr01.hs
- testsuite/tests/ffi/should_run/fptrfail01.hs
- testsuite/tests/indexed-types/should_compile/all.T
- testsuite/tests/indexed-types/should_fail/SkolemOccursLoop.hs
- utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs
Changes:
| 1 | +section: compiler
|
|
| 2 | +synopsis: Remove command-line flags deprecated in GHC 8.2 or earlier
|
|
| 3 | +issues: #27939
|
|
| 4 | +mrs: !16801
|
|
| 5 | +description: {
|
|
| 6 | + The following flags, deprecated in GHC 8.2 or earlier, are no longer
|
|
| 7 | + accepted: ``-n``, ``-Onot``, ``-recomp``, ``-syslib``, ``-package-conf``,
|
|
| 8 | + ``-no-user-package-conf``, ``-auto``, ``-auto-all``, ``-caf-all``,
|
|
| 9 | + ``-fglasgow-exts``, ``-frewrite-rules``, ``-fvia-C``, ``-fcontext-stack``,
|
|
| 10 | + ``-ftype-function-depth``, ``-#include``, the pre-``-X`` extension
|
|
| 11 | + spellings such as ``-fth`` and ``-fffi``, and their negations.
|
|
| 12 | + |
|
| 13 | + The ``INCLUDE`` file-header pragma, which only expanded to ``-#include``,
|
|
| 14 | + is no longer recognised either.
|
|
| 15 | +} |
| ... | ... | @@ -8,8 +8,6 @@ |
| 8 | 8 | --
|
| 9 | 9 | -- (c) The University of Glasgow 2004-2006
|
| 10 | 10 | --
|
| 11 | --- Print Cmm as real C, for -fvia-C
|
|
| 12 | ---
|
|
| 13 | 11 | -- See wiki:commentary/compiler/backends/ppr-c
|
| 14 | 12 | --
|
| 15 | 13 | -- This is simpler than the old PprAbsC, because Cmm is "macro-expanded"
|
| ... | ... | @@ -190,12 +190,12 @@ We now initialize these correctly. The initialization works like this: |
| 190 | 190 | |
| 191 | 191 | - For top-level bindings, check if the binding is a CAF
|
| 192 | 192 | |
| 193 | - - CAF: If -fcaf-all is enabled, create a new CAF just for this CAF
|
|
| 193 | + - CAF: If -fprof-cafs is enabled, create a new CAF just for this CAF
|
|
| 194 | 194 | and use it. Note that these new cost centres need to be
|
| 195 | 195 | collected to be able to generate cost centre initialization
|
| 196 | 196 | code, so `coreToTopStgRhs` now returns `CollectedCCs`.
|
| 197 | 197 | |
| 198 | - If -fcaf-all is not enabled, use "all CAFs" cost centre.
|
|
| 198 | + If -fprof-cafs is not enabled, use "all CAFs" cost centre.
|
|
| 199 | 199 | |
| 200 | 200 | - Non-CAF: Top-level (static) data is not counted in heap profiles; nor
|
| 201 | 201 | do we set CCCS from it; so we just slam in
|
| ... | ... | @@ -35,7 +35,6 @@ module GHC.Driver.Flags |
| 35 | 35 | , validHoleFitsImpliedGFlags
|
| 36 | 36 | , impliedGFlags
|
| 37 | 37 | , impliedOffGFlags
|
| 38 | - , glasgowExtsFlags
|
|
| 39 | 38 | |
| 40 | 39 | , ExtensionDeprecation(..)
|
| 41 | 40 | , Deprecation(..)
|
| ... | ... | @@ -403,41 +402,6 @@ impliedGFlags = [(Opt_DeferTypeErrors, turnOn, Opt_DeferTypedHoles) |
| 403 | 402 | impliedOffGFlags :: [(GeneralFlag, TurnOnFlag, GeneralFlag)]
|
| 404 | 403 | impliedOffGFlags = [(Opt_Strictness, turnOff, Opt_WorkerWrapper)]
|
| 405 | 404 | |
| 406 | --- Please keep @docs/users_guide/what_glasgow_exts_does.rst@ up to date with this list.
|
|
| 407 | -glasgowExtsFlags :: [LangExt.Extension]
|
|
| 408 | -glasgowExtsFlags = [
|
|
| 409 | - LangExt.ConstrainedClassMethods
|
|
| 410 | - , LangExt.DeriveDataTypeable
|
|
| 411 | - , LangExt.DeriveFoldable
|
|
| 412 | - , LangExt.DeriveFunctor
|
|
| 413 | - , LangExt.DeriveGeneric
|
|
| 414 | - , LangExt.DeriveTraversable
|
|
| 415 | - , LangExt.EmptyDataDecls
|
|
| 416 | - , LangExt.ExistentialQuantification
|
|
| 417 | - , LangExt.ExplicitNamespaces
|
|
| 418 | - , LangExt.FlexibleContexts
|
|
| 419 | - , LangExt.FlexibleInstances
|
|
| 420 | - , LangExt.ForeignFunctionInterface
|
|
| 421 | - , LangExt.FunctionalDependencies
|
|
| 422 | - , LangExt.GeneralizedNewtypeDeriving
|
|
| 423 | - , LangExt.ImplicitParams
|
|
| 424 | - , LangExt.KindSignatures
|
|
| 425 | - , LangExt.LiberalTypeSynonyms
|
|
| 426 | - , LangExt.MagicHash
|
|
| 427 | - , LangExt.MultiParamTypeClasses
|
|
| 428 | - , LangExt.ParallelListComp
|
|
| 429 | - , LangExt.PatternGuards
|
|
| 430 | - , LangExt.PostfixOperators
|
|
| 431 | - , LangExt.RankNTypes
|
|
| 432 | - , LangExt.RecursiveDo
|
|
| 433 | - , LangExt.ScopedTypeVariables
|
|
| 434 | - , LangExt.StandaloneDeriving
|
|
| 435 | - , LangExt.TypeOperators
|
|
| 436 | - , LangExt.TypeSynonymInstances
|
|
| 437 | - , LangExt.UnboxedTuples
|
|
| 438 | - , LangExt.UnicodeSyntax
|
|
| 439 | - , LangExt.UnliftedFFITypes ]
|
|
| 440 | - |
|
| 441 | 405 | -- | Debugging flags
|
| 442 | 406 | data DumpFlag
|
| 443 | 407 | -- See Note [Updating flag description in the User's Guide] in GHC.Driver.Session
|
| ... | ... | @@ -21,7 +21,6 @@ module GHC.Driver.Session ( |
| 21 | 21 | Language(..),
|
| 22 | 22 | FatalMessager, FlushOut(..),
|
| 23 | 23 | ProfAuto(..),
|
| 24 | - glasgowExtsFlags,
|
|
| 25 | 24 | hasPprDebug, hasNoDebugOutput, hasNoStateHack, hasNoOptCoercion,
|
| 26 | 25 | dopt, dopt_set, dopt_unset,
|
| 27 | 26 | gopt, gopt_set, gopt_unset, setGeneralFlag', unSetGeneralFlag',
|
| ... | ... | @@ -55,7 +54,7 @@ module GHC.Driver.Session ( |
| 55 | 54 | PackageDBFlag(..), PkgDbRef(..),
|
| 56 | 55 | Option(..), showOpt,
|
| 57 | 56 | DynLibLoader(..),
|
| 58 | - fFlags, fLangFlags, xFlags,
|
|
| 57 | + fFlags, xFlags,
|
|
| 59 | 58 | wWarningFlags,
|
| 60 | 59 | makeDynFlagsConsistent,
|
| 61 | 60 | positionIndependent,
|
| ... | ... | @@ -1084,14 +1083,8 @@ add_dep_message (AnySuffix f) message = |
| 1084 | 1083 | -- See Note [Supporting CLI completion]
|
| 1085 | 1084 | dynamic_flags_deps :: [(Deprecation, Flag (CmdLineP DynFlags))]
|
| 1086 | 1085 | dynamic_flags_deps = [
|
| 1087 | - make_dep_flag defFlag "n" (NoArg $ return ())
|
|
| 1088 | - "The -n flag is deprecated and no longer has any effect"
|
|
| 1089 | - , make_ord_flag defFlag "cpp" (NoArg (setExtensionFlag LangExt.Cpp))
|
|
| 1086 | + make_ord_flag defFlag "cpp" (NoArg (setExtensionFlag LangExt.Cpp))
|
|
| 1090 | 1087 | , make_ord_flag defFlag "F" (NoArg (setGeneralFlag Opt_Pp))
|
| 1091 | - , (Deprecated, defFlag "#include"
|
|
| 1092 | - (HasArg (\_s ->
|
|
| 1093 | - deprecate ("-#include and INCLUDE pragmas are " ++
|
|
| 1094 | - "deprecated: They no longer have any effect"))))
|
|
| 1095 | 1088 | , make_ord_flag defFlag "v" (OptIntSuffix setVerbosity)
|
| 1096 | 1089 | |
| 1097 | 1090 | , make_ord_flag defGhcFlag "j" (OptIntSuffix
|
| ... | ... | @@ -1408,13 +1401,6 @@ dynamic_flags_deps = [ |
| 1408 | 1401 | (NoArg (setGeneralFlag Opt_Ticky_Dyn_Thunk))
|
| 1409 | 1402 | , make_ord_flag defGhcFlag "ticky-tag-checks"
|
| 1410 | 1403 | (NoArg (setGeneralFlag Opt_Ticky_Tag))
|
| 1411 | - |
|
| 1412 | - ------- recompilation checker --------------------------------------
|
|
| 1413 | - , make_dep_flag defGhcFlag "recomp"
|
|
| 1414 | - (NoArg $ unSetGeneralFlag Opt_ForceRecomp)
|
|
| 1415 | - "Use -fno-force-recomp instead"
|
|
| 1416 | - , make_dep_flag defGhcFlag "no-recomp"
|
|
| 1417 | - (NoArg $ setGeneralFlag Opt_ForceRecomp) "Use -fforce-recomp instead"
|
|
| 1418 | 1404 | , make_ord_flag defFlag "fmax-errors"
|
| 1419 | 1405 | (intSuffix (\n d -> d { maxErrors = Just (max 1 n) }))
|
| 1420 | 1406 | , make_ord_flag defFlag "fno-max-errors"
|
| ... | ... | @@ -1772,8 +1758,6 @@ dynamic_flags_deps = [ |
| 1772 | 1758 | , make_ord_flag defGhcFlag "fplugin-library" (hasArg addExternalPlugin)
|
| 1773 | 1759 | |
| 1774 | 1760 | ------ Optimisation flags ------------------------------------------
|
| 1775 | - , make_dep_flag defGhcFlag "Onot" (noArgM $ setOptLevel 0 )
|
|
| 1776 | - "Use -O0 instead"
|
|
| 1777 | 1761 | , make_ord_flag defGhcFlag "O" (optIntSuffixM (\mb_n ->
|
| 1778 | 1762 | setOptLevel (mb_n `orElse` 1)))
|
| 1779 | 1763 | -- If the number is missing, use 1
|
| ... | ... | @@ -1850,14 +1834,6 @@ dynamic_flags_deps = [ |
| 1850 | 1834 | (intSuffix (\n d -> d { wantedsFuel = n }))
|
| 1851 | 1835 | , make_ord_flag defFlag "fqcs-expansion-fuel"
|
| 1852 | 1836 | (intSuffix (\n d -> d { qcsFuel = n }))
|
| 1853 | - , (Deprecated, defFlag "fcontext-stack"
|
|
| 1854 | - (intSuffixM (\n d ->
|
|
| 1855 | - do { deprecate $ "use -freduction-depth=" ++ show n ++ " instead"
|
|
| 1856 | - ; return $ d { reductionDepth = treatZeroAsInf n } })))
|
|
| 1857 | - , (Deprecated, defFlag "ftype-function-depth"
|
|
| 1858 | - (intSuffixM (\n d ->
|
|
| 1859 | - do { deprecate $ "use -freduction-depth=" ++ show n ++ " instead"
|
|
| 1860 | - ; return $ d { reductionDepth = treatZeroAsInf n } })))
|
|
| 1861 | 1837 | , make_ord_flag defFlag "fstrictness-before"
|
| 1862 | 1838 | (intSuffix (\n d -> d { strictnessBefore = n : strictnessBefore d }))
|
| 1863 | 1839 | , make_ord_flag defFlag "ffloat-lam-args"
|
| ... | ... | @@ -1936,28 +1912,6 @@ dynamic_flags_deps = [ |
| 1936 | 1912 | (intSuffix (\n d -> d { uniqueIncrement = n }))
|
| 1937 | 1913 | |
| 1938 | 1914 | ------ Profiling ----------------------------------------------------
|
| 1939 | - |
|
| 1940 | - -- OLD profiling flags
|
|
| 1941 | - , make_dep_flag defGhcFlag "auto-all"
|
|
| 1942 | - (noArg (\d -> d { profAuto = ProfAutoAll } ))
|
|
| 1943 | - "Use -fprof-auto instead"
|
|
| 1944 | - , make_dep_flag defGhcFlag "no-auto-all"
|
|
| 1945 | - (noArg (\d -> d { profAuto = NoProfAuto } ))
|
|
| 1946 | - "Use -fno-prof-auto instead"
|
|
| 1947 | - , make_dep_flag defGhcFlag "auto"
|
|
| 1948 | - (noArg (\d -> d { profAuto = ProfAutoExports } ))
|
|
| 1949 | - "Use -fprof-auto-exported instead"
|
|
| 1950 | - , make_dep_flag defGhcFlag "no-auto"
|
|
| 1951 | - (noArg (\d -> d { profAuto = NoProfAuto } ))
|
|
| 1952 | - "Use -fno-prof-auto instead"
|
|
| 1953 | - , make_dep_flag defGhcFlag "caf-all"
|
|
| 1954 | - (NoArg (setGeneralFlag Opt_AutoSccsOnIndividualCafs))
|
|
| 1955 | - "Use -fprof-cafs instead"
|
|
| 1956 | - , make_dep_flag defGhcFlag "no-caf-all"
|
|
| 1957 | - (NoArg (unSetGeneralFlag Opt_AutoSccsOnIndividualCafs))
|
|
| 1958 | - "Use -fno-prof-cafs instead"
|
|
| 1959 | - |
|
| 1960 | - -- NEW profiling flags
|
|
| 1961 | 1915 | , make_ord_flag defGhcFlag "fprof-auto"
|
| 1962 | 1916 | (noArg (\d -> d { profAuto = ProfAutoAll } ))
|
| 1963 | 1917 | , make_ord_flag defGhcFlag "fprof-auto-top"
|
| ... | ... | @@ -1982,12 +1936,6 @@ dynamic_flags_deps = [ |
| 1982 | 1936 | ------ Compiler flags -----------------------------------------------
|
| 1983 | 1937 | |
| 1984 | 1938 | , make_ord_flag defGhcFlag "fasm" (NoArg (setObjBackend ncgBackend))
|
| 1985 | - , make_ord_flag defGhcFlag "fvia-c" (NoArg
|
|
| 1986 | - (deprecate $ "The -fvia-c flag does nothing; " ++
|
|
| 1987 | - "it will be removed in a future GHC release"))
|
|
| 1988 | - , make_ord_flag defGhcFlag "fvia-C" (NoArg
|
|
| 1989 | - (deprecate $ "The -fvia-C flag does nothing; " ++
|
|
| 1990 | - "it will be removed in a future GHC release"))
|
|
| 1991 | 1939 | , make_ord_flag defGhcFlag "fllvm" (NoArg (setObjBackend llvmBackend))
|
| 1992 | 1940 | |
| 1993 | 1941 | , make_ord_flag defFlag "fno-code" (NoArg ((upd $ \d ->
|
| ... | ... | @@ -2001,11 +1949,6 @@ dynamic_flags_deps = [ |
| 2001 | 1949 | dflags' <- liftEwM getCmdLineState
|
| 2002 | 1950 | pure $ gopt_unset dflags' Opt_ByteCodeAndObjectCode
|
| 2003 | 1951 | |
| 2004 | - , make_dep_flag defFlag "fglasgow-exts"
|
|
| 2005 | - (NoArg enableGlasgowExts) "Use individual extensions instead"
|
|
| 2006 | - , make_dep_flag defFlag "fno-glasgow-exts"
|
|
| 2007 | - (NoArg disableGlasgowExts) "Use individual extensions instead"
|
|
| 2008 | - |
|
| 2009 | 1952 | ------ Safe Haskell flags -------------------------------------------
|
| 2010 | 1953 | , make_ord_flag defFlag "fpackage-trust" (NoArg setPackageTrust)
|
| 2011 | 1954 | , make_ord_flag defFlag "fno-safe-infer" (noArg (\d ->
|
| ... | ... | @@ -2067,8 +2010,6 @@ dynamic_flags_deps = [ |
| 2067 | 2010 | ]
|
| 2068 | 2011 | |
| 2069 | 2012 | ------ Language flags -------------------------------------------------
|
| 2070 | - ++ map (mkFlag turnOn "f" setExtensionFlag ) fLangFlagsDeps
|
|
| 2071 | - ++ map (mkFlag turnOff "fno-" unSetExtensionFlag) fLangFlagsDeps
|
|
| 2072 | 2013 | ++ map (mkFlag turnOn "X" setExtensionFlag ) xFlagsDeps
|
| 2073 | 2014 | ++ map (mkFlag turnOff "XNo" unSetExtensionFlag) xFlagsDeps
|
| 2074 | 2015 | ++ map (mkFlag turnOn "X" setLanguage ) languageFlagsDeps
|
| ... | ... | @@ -2142,11 +2083,6 @@ package_flags_deps = [ |
| 2142 | 2083 | (NoArg (addPkgDbRef GlobalPkgDb))
|
| 2143 | 2084 | , make_ord_flag defFlag "user-package-db"
|
| 2144 | 2085 | (NoArg (addPkgDbRef UserPkgDb))
|
| 2145 | - -- backwards compat with GHC<=7.4 :
|
|
| 2146 | - , make_dep_flag defFlag "package-conf"
|
|
| 2147 | - (HasArg $ addPkgDbRef . PkgDbPath . OsPath.unsafeEncodeUtf) "Use -package-db instead"
|
|
| 2148 | - , make_dep_flag defFlag "no-user-package-conf"
|
|
| 2149 | - (NoArg removeUserPkgDb) "Use -no-user-package-db instead"
|
|
| 2150 | 2086 | , make_ord_flag defGhcFlag "package-name" (HasArg $ \name ->
|
| 2151 | 2087 | upd (setUnitId name))
|
| 2152 | 2088 | , make_ord_flag defGhcFlag "this-unit-id" (hasArg setUnitId)
|
| ... | ... | @@ -2167,7 +2103,6 @@ package_flags_deps = [ |
| 2167 | 2103 | (NoArg (setGeneralFlag Opt_HideAllPluginPackages))
|
| 2168 | 2104 | , make_ord_flag defFlag "package-env" (HasArg setPackageEnv)
|
| 2169 | 2105 | , make_ord_flag defFlag "ignore-package" (HasArg ignorePackage)
|
| 2170 | - , make_dep_flag defFlag "syslib" (HasArg exposePackage) "Use -package instead"
|
|
| 2171 | 2106 | , make_ord_flag defFlag "distrust-all-packages"
|
| 2172 | 2107 | (NoArg (setGeneralFlag Opt_DistrustAllPackages))
|
| 2173 | 2108 | , make_ord_flag defFlag "trust" (HasArg trustPackage)
|
| ... | ... | @@ -2643,8 +2578,6 @@ fFlagsDeps = [ |
| 2643 | 2578 | flagSpec "prof-late-inline" Opt_ProfLateInlineCcs,
|
| 2644 | 2579 | flagSpec "regs-graph" Opt_RegsGraph,
|
| 2645 | 2580 | flagSpec "regs-iterative" Opt_RegsIterative,
|
| 2646 | - depFlagSpec' "rewrite-rules" Opt_EnableRewriteRules
|
|
| 2647 | - (useInstead "-f" "enable-rewrite-rules"),
|
|
| 2648 | 2581 | flagSpec "shared-implib" Opt_SharedImplib,
|
| 2649 | 2582 | flagSpec "spec-constr" Opt_SpecConstr,
|
| 2650 | 2583 | flagSpec "spec-constr-keen" Opt_SpecConstrKeen,
|
| ... | ... | @@ -2739,43 +2672,6 @@ fHoleFlags = [ |
| 2739 | 2672 | flagSpec "unclutter-valid-hole-fits" Opt_UnclutterValidHoleFits
|
| 2740 | 2673 | ]
|
| 2741 | 2674 | |
| 2742 | --- | These @-f\<blah\>@ flags can all be reversed with @-fno-\<blah\>@
|
|
| 2743 | -fLangFlags :: [FlagSpec LangExt.Extension]
|
|
| 2744 | -fLangFlags = map snd fLangFlagsDeps
|
|
| 2745 | - |
|
| 2746 | -fLangFlagsDeps :: [(Deprecation, FlagSpec LangExt.Extension)]
|
|
| 2747 | -fLangFlagsDeps = [
|
|
| 2748 | --- See Note [Updating flag description in the User's Guide]
|
|
| 2749 | --- See Note [Supporting CLI completion]
|
|
| 2750 | - depFlagSpecOp' "th" LangExt.TemplateHaskell
|
|
| 2751 | - checkTemplateHaskellOk
|
|
| 2752 | - (deprecatedForExtension "TemplateHaskell"),
|
|
| 2753 | - depFlagSpec' "fi" LangExt.ForeignFunctionInterface
|
|
| 2754 | - (deprecatedForExtension "ForeignFunctionInterface"),
|
|
| 2755 | - depFlagSpec' "ffi" LangExt.ForeignFunctionInterface
|
|
| 2756 | - (deprecatedForExtension "ForeignFunctionInterface"),
|
|
| 2757 | - depFlagSpec' "arrows" LangExt.Arrows
|
|
| 2758 | - (deprecatedForExtension "Arrows"),
|
|
| 2759 | - depFlagSpec' "implicit-prelude" LangExt.ImplicitPrelude
|
|
| 2760 | - (deprecatedForExtension "ImplicitPrelude"),
|
|
| 2761 | - depFlagSpec' "bang-patterns" LangExt.BangPatterns
|
|
| 2762 | - (deprecatedForExtension "BangPatterns"),
|
|
| 2763 | - depFlagSpec' "monomorphism-restriction" LangExt.MonomorphismRestriction
|
|
| 2764 | - (deprecatedForExtension "MonomorphismRestriction"),
|
|
| 2765 | - depFlagSpec' "extended-default-rules" LangExt.ExtendedDefaultRules
|
|
| 2766 | - (deprecatedForExtension "ExtendedDefaultRules"),
|
|
| 2767 | - depFlagSpec' "implicit-params" LangExt.ImplicitParams
|
|
| 2768 | - (deprecatedForExtension "ImplicitParams"),
|
|
| 2769 | - depFlagSpec' "scoped-type-variables" LangExt.ScopedTypeVariables
|
|
| 2770 | - (deprecatedForExtension "ScopedTypeVariables"),
|
|
| 2771 | - depFlagSpec' "allow-overlapping-instances" LangExt.OverlappingInstances
|
|
| 2772 | - (deprecatedForExtension "OverlappingInstances"),
|
|
| 2773 | - depFlagSpec' "allow-undecidable-instances" LangExt.UndecidableInstances
|
|
| 2774 | - (deprecatedForExtension "UndecidableInstances"),
|
|
| 2775 | - depFlagSpec' "allow-incoherent-instances" LangExt.IncoherentInstances
|
|
| 2776 | - (deprecatedForExtension "IncoherentInstances")
|
|
| 2777 | - ]
|
|
| 2778 | - |
|
| 2779 | 2675 | supportedLanguages :: [String]
|
| 2780 | 2676 | supportedLanguages = map (flagSpecName . snd) languageFlagsDeps
|
| 2781 | 2677 | |
| ... | ... | @@ -2876,15 +2772,6 @@ enableDLint = do |
| 2876 | 2772 | , Opt_LlvmFillUndefWithGarbage
|
| 2877 | 2773 | ]
|
| 2878 | 2774 | |
| 2879 | -enableGlasgowExts :: DynP ()
|
|
| 2880 | -enableGlasgowExts = do setGeneralFlag Opt_PrintExplicitForalls
|
|
| 2881 | - mapM_ setExtensionFlag glasgowExtsFlags
|
|
| 2882 | - |
|
| 2883 | -disableGlasgowExts :: DynP ()
|
|
| 2884 | -disableGlasgowExts = do unSetGeneralFlag Opt_PrintExplicitForalls
|
|
| 2885 | - mapM_ unSetExtensionFlag glasgowExtsFlags
|
|
| 2886 | - |
|
| 2887 | - |
|
| 2888 | 2775 | setWarnSafe :: Bool -> DynP ()
|
| 2889 | 2776 | setWarnSafe True = getCurLoc >>= \l -> upd (\d -> d { warnSafeOnLoc = l })
|
| 2890 | 2777 | setWarnSafe False = return ()
|
| ... | ... | @@ -3094,7 +2981,6 @@ setExtensionFlag' f dflags = foldr ($) (xopt_set dflags f) deps |
| 3094 | 2981 | |
| 3095 | 2982 | unSetExtensionFlag' f dflags = xopt_unset dflags f
|
| 3096 | 2983 | -- When you un-set f, however, we don't un-set the things it implies
|
| 3097 | - -- (except for -fno-glasgow-exts, which is treated specially)
|
|
| 3098 | 2984 | |
| 3099 | 2985 | --------------------------
|
| 3100 | 2986 |
| ... | ... | @@ -971,6 +971,5 @@ forallSym False = text "forall" |
| 971 | 971 | |
| 972 | 972 | pprFileHeaderPragmaType :: FileHeaderPragmaType -> SDoc
|
| 973 | 973 | pprFileHeaderPragmaType OptionsPrag = text "OPTIONS"
|
| 974 | -pprFileHeaderPragmaType IncludePrag = text "INCLUDE"
|
|
| 975 | 974 | pprFileHeaderPragmaType LanguagePrag = text "LANGUAGE"
|
| 976 | 975 | pprFileHeaderPragmaType DocOptionsPrag = text "OPTIONS_HADDOCK" |
| ... | ... | @@ -650,7 +650,6 @@ data TransLayoutReason |
| 650 | 650 | |
| 651 | 651 | data FileHeaderPragmaType
|
| 652 | 652 | = OptionsPrag
|
| 653 | - | IncludePrag
|
|
| 654 | 653 | | LanguagePrag
|
| 655 | 654 | | DocOptionsPrag
|
| 656 | 655 |
| ... | ... | @@ -319,11 +319,6 @@ getOptions' opts sec supported toks |
| 319 | 319 | src_span = getLoc open
|
| 320 | 320 | real_src_span = expectJust (srcSpanToRealSrcSpan src_span)
|
| 321 | 321 | starting_loc = realSrcSpanStart real_src_span
|
| 322 | - parseToks (open:close:xs)
|
|
| 323 | - | ITinclude_prag str <- unLoc open
|
|
| 324 | - , ITclose_prag <- unLoc close
|
|
| 325 | - = fmap (map (L (getLoc open)) ["-#include",removeSpaces str] ++)
|
|
| 326 | - (parseToks xs)
|
|
| 327 | 322 | parseToks (open:close:xs)
|
| 328 | 323 | | ITdocOptions str _ <- unLoc open
|
| 329 | 324 | , ITclose_prag <- unLoc close
|
| ... | ... | @@ -355,8 +350,6 @@ getOptions' opts sec supported toks |
| 355 | 350 | mkMessage (L loc token)
|
| 356 | 351 | | IToptions_prag _ <- token
|
| 357 | 352 | = Just (singleMessage $ mkPlainMsgEnvelope diag_opts loc (PsWarnMisplacedPragma OptionsPrag))
|
| 358 | - | ITinclude_prag _ <- token
|
|
| 359 | - = Just (singleMessage $ mkPlainMsgEnvelope diag_opts loc (PsWarnMisplacedPragma IncludePrag))
|
|
| 360 | 353 | | ITdocOptions _ _ <- token
|
| 361 | 354 | = Just (singleMessage $ mkPlainMsgEnvelope diag_opts loc (PsWarnMisplacedPragma DocOptionsPrag))
|
| 362 | 355 | | ITlanguage_prag <- token
|
| ... | ... | @@ -857,7 +857,6 @@ data Token |
| 857 | 857 | | ITcomplete_prag SourceText
|
| 858 | 858 | | ITclose_prag
|
| 859 | 859 | | IToptions_prag String
|
| 860 | - | ITinclude_prag String
|
|
| 861 | 860 | | ITlanguage_prag
|
| 862 | 861 | | ITminimal_prag SourceText
|
| 863 | 862 | | IToverlappable_prag SourceText -- instance overlap mode
|
| ... | ... | @@ -3507,8 +3506,7 @@ linePrags = Map.singleton "line" linePrag |
| 3507 | 3506 | fileHeaderPrags = Map.fromList([("options", lex_string_prag IToptions_prag),
|
| 3508 | 3507 | ("options_ghc", lex_string_prag IToptions_prag),
|
| 3509 | 3508 | ("options_haddock", lex_string_prag_comment ITdocOptions),
|
| 3510 | - ("language", token ITlanguage_prag),
|
|
| 3511 | - ("include", lex_string_prag ITinclude_prag)])
|
|
| 3509 | + ("language", token ITlanguage_prag)])
|
|
| 3512 | 3510 | |
| 3513 | 3511 | ignoredPrags = Map.fromList (map ignored pragmas)
|
| 3514 | 3512 | where ignored opt = (opt, nested_comment)
|
| ... | ... | @@ -67,7 +67,7 @@ mkTopStgRhs allow_toplevel_con_app opt_AutoSccsOnIndividualCafs this_mod ccs bnd |
| 67 | 67 | upd_flag | isAtMostOnceDmd (idDemandInfo bndr) = SingleEntry
|
| 68 | 68 | | otherwise = Updatable
|
| 69 | 69 | |
| 70 | - -- CAF cost centres generated for -fcaf-all
|
|
| 70 | + -- CAF cost centres generated for -fprof-cafs
|
|
| 71 | 71 | caf_cc = mkAutoCC bndr modl
|
| 72 | 72 | caf_ccs = mkSingletonCCS caf_cc
|
| 73 | 73 | -- careful: the binder might be :Main.main,
|
| ... | ... | @@ -106,7 +106,7 @@ type CmmTickish = GenTickish 'TickishPassCmm |
| 106 | 106 | -- See Note [GHC Formalism] in GHC.Core.Lint
|
| 107 | 107 | data GenTickish pass =
|
| 108 | 108 | -- | An @{-# SCC #-}@ profiling annotation, either automatically
|
| 109 | - -- added by the desugarer as a result of -auto-all, or added by
|
|
| 109 | + -- added by the desugarer as a result of -fprof-auto, or added by
|
|
| 110 | 110 | -- the user.
|
| 111 | 111 | ProfNote {
|
| 112 | 112 | profNoteCC :: CostCentre, -- ^ the cost centre
|
| ... | ... | @@ -69,23 +69,14 @@ To install LLVM and Clang: |
| 69 | 69 | |
| 70 | 70 | .. _c-code-gen:
|
| 71 | 71 | |
| 72 | -C Code Generator (``-fvia-C``)
|
|
| 73 | -------------------------------
|
|
| 72 | +C Code Generator
|
|
| 73 | +----------------
|
|
| 74 | 74 | |
| 75 | 75 | .. index::
|
| 76 | 76 | single: C code generator
|
| 77 | - single: -fvia-C
|
|
| 78 | - |
|
| 79 | -.. ghc-flag:: -fvia-C
|
|
| 80 | - :shortdesc: use the C code generator
|
|
| 81 | - :type: dynamic
|
|
| 82 | - :category: warnings
|
|
| 83 | - |
|
| 84 | - Use the C code generator. Only supposed in unregisterised GHC builds.
|
|
| 85 | 77 | |
| 86 | 78 | This is the oldest code generator in GHC and is generally not included
|
| 87 | -any more having been deprecated around GHC 7.0. Select it with the
|
|
| 88 | -:ghc-flag:`-fvia-C` flag.
|
|
| 79 | +any more.
|
|
| 89 | 80 | |
| 90 | 81 | The C code generator is only supported when GHC is built in
|
| 91 | 82 | unregisterised mode, a mode where GHC produces "portable" C code as
|
| 1 | --#include
|
|
| 2 | 1 | --abi-hash
|
| 3 | 2 | --backpack
|
| 4 | 3 | --show-packages
|
| 5 | --Onot
|
|
| 6 | 4 | -Walternative-layout-rule-transitional
|
| 7 | 5 | -XAlternativeLayoutRule
|
| 8 | 6 | -XAlternativeLayoutRuleTransitional
|
| ... | ... | @@ -19,17 +17,11 @@ |
| 19 | 17 | -dsource-stats
|
| 20 | 18 | -dstg-stats
|
| 21 | 19 | -dsuppress-stg-exts
|
| 22 | --fallow-incoherent-instances
|
|
| 23 | --fallow-overlapping-instances
|
|
| 24 | --fallow-undecidable-instances
|
|
| 25 | --farrows
|
|
| 26 | --fbang-patterns
|
|
| 27 | 20 | -fbuilding-cabal-package
|
| 28 | 21 | -fconstraint-solver-iterations
|
| 29 | 22 | -fgivens-expansion-fuel
|
| 30 | 23 | -fwanteds-expansion-fuel
|
| 31 | 24 | -fqcs-expansion-fuel
|
| 32 | --fcontext-stack
|
|
| 33 | 25 | -fcross-module-specialize
|
| 34 | 26 | -fdiagnostics-color=always
|
| 35 | 27 | -fdiagnostics-color=auto
|
| ... | ... | @@ -38,10 +30,7 @@ |
| 38 | 30 | -fprint-error-index-links=auto
|
| 39 | 31 | -fprint-error-index-links=never
|
| 40 | 32 | -fembed-manifest
|
| 41 | --fextended-default-rules
|
|
| 42 | 33 | -ffast-pap-calls
|
| 43 | --fffi
|
|
| 44 | --ffi
|
|
| 45 | 34 | -ffloat-all-lams
|
| 46 | 35 | -ffloat-lam-args
|
| 47 | 36 | -ffrontend-opt
|
| ... | ... | @@ -49,48 +38,34 @@ |
| 49 | 38 | -fghci-history
|
| 50 | 39 | -fghci-sandbox
|
| 51 | 40 | -fhistory-size
|
| 52 | --fimplicit-params
|
|
| 53 | --fimplicit-prelude
|
|
| 54 | 41 | -firrefutable-tuples
|
| 55 | 42 | -fmax-errors
|
| 56 | 43 | -fmax-pmcheck-iterations
|
| 57 | --fmonomorphism-restriction
|
|
| 58 | 44 | -fpre-inlining
|
| 59 | 45 | -fprint-bind-contents
|
| 60 | 46 | -freduction-depth
|
| 61 | --frewrite-rules
|
|
| 62 | --fscoped-type-variables
|
|
| 63 | 47 | -fshared-implib
|
| 64 | 48 | -fshow-valid-hole-fits
|
| 65 | 49 | -fshow-valid-substitutions
|
| 66 | 50 | -fspec-constr-recursive
|
| 67 | 51 | -fspecialize
|
| 68 | 52 | -fspecialize-aggressively
|
| 69 | --fth
|
|
| 70 | --ftype-function-depth
|
|
| 71 | 53 | -fversion-macros
|
| 72 | --fvia-c
|
|
| 73 | 54 | -haddock-opts
|
| 74 | 55 | -instantiated-with
|
| 75 | 56 | -keep-hi-file
|
| 76 | 57 | -keep-o-file
|
| 77 | --n
|
|
| 78 | 58 | -no-keep-hi-file
|
| 79 | 59 | -no-keep-o-file
|
| 80 | 60 | -no-link
|
| 81 | --no-recomp
|
|
| 82 | 61 | -no-rtsopts
|
| 83 | --no-user-package-conf
|
|
| 84 | --package-conf
|
|
| 85 | 62 | -package-name
|
| 86 | 63 | -pgmar
|
| 87 | 64 | -pgmranlib
|
| 88 | --recomp
|
|
| 89 | 65 | -relative-dynlib-paths
|
| 90 | 66 | -rtsopts=all
|
| 91 | 67 | -rtsopts=ignore
|
| 92 | 68 | -rtsopts=ignoreAll
|
| 93 | 69 | -rtsopts=none
|
| 94 | 70 | -rtsopts=some
|
| 95 | --syslib
|
|
| 96 | 71 | -this-component-id |
| ... | ... | @@ -244,25 +244,3 @@ Similarly, language extensions can be controlled (either enabled or disabled): |
| 244 | 244 | * :extension:`StarIsType`
|
| 245 | 245 | * :extension:`TraditionalRecordSyntax`
|
| 246 | 246 | * :extension:`ImplicitStagePersistence` |
| 247 | - |
|
| 248 | - |
|
| 249 | - |
|
| 250 | -Although not recommended, the deprecated :ghc-flag:`-fglasgow-exts` flag enables
|
|
| 251 | -a large swath of the extensions supported by GHC at once.
|
|
| 252 | - |
|
| 253 | -.. ghc-flag:: -fglasgow-exts
|
|
| 254 | - :shortdesc: Deprecated. Enable most language extensions;
|
|
| 255 | - see :ref:`options-language` for exactly which ones.
|
|
| 256 | - :type: dynamic
|
|
| 257 | - :reverse: -fno-glasgow-exts
|
|
| 258 | - :category: misc
|
|
| 259 | - |
|
| 260 | - The flag ``-fglasgow-exts`` is equivalent to enabling the following extensions:
|
|
| 261 | - |
|
| 262 | - .. include:: ../what_glasgow_exts_does.rst
|
|
| 263 | - |
|
| 264 | - Enabling these options is the *only* effect of ``-fglasgow-exts``. We are trying
|
|
| 265 | - to move away from this portmanteau flag, and towards enabling features
|
|
| 266 | - individually.
|
|
| 267 | - |
|
| 268 | - |
| ... | ... | @@ -766,9 +766,6 @@ calls across module and package boundaries: there's no need for the header file |
| 766 | 766 | to be available when compiling an inlined version of a foreign call, so the
|
| 767 | 767 | compiler is free to inline foreign calls in any context.
|
| 768 | 768 | |
| 769 | -The ``-#include`` option is now deprecated, and the ``includes``
|
|
| 770 | -field in a Cabal package specification is ignored.
|
|
| 771 | - |
|
| 772 | 769 | Memory Allocation
|
| 773 | 770 | ~~~~~~~~~~~~~~~~~
|
| 774 | 771 |
| ... | ... | @@ -26,8 +26,8 @@ Certain pragmas are *file-header pragmas*: |
| 26 | 26 | - File-header pragmas are read once only, before pre-processing the
|
| 27 | 27 | file (e.g. with cpp).
|
| 28 | 28 | |
| 29 | -- The file-header pragmas are: ``{-# LANGUAGE #-}``,
|
|
| 30 | - ``{-# OPTIONS_GHC #-}``, and ``{-# INCLUDE #-}``.
|
|
| 29 | +- The file-header pragmas are: ``{-# LANGUAGE #-}`` and
|
|
| 30 | + ``{-# OPTIONS_GHC #-}``.
|
|
| 31 | 31 | |
| 32 | 32 | .. _language-pragma:
|
| 33 | 33 | |
| ... | ... | @@ -80,16 +80,6 @@ Previous versions of GHC accepted ``OPTIONS`` rather than |
| 80 | 80 | |
| 81 | 81 | ``OPTIONS_GHC`` is a file-header pragma (see :ref:`pragmas`).
|
| 82 | 82 | |
| 83 | -.. _include-pragma:
|
|
| 84 | - |
|
| 85 | -``INCLUDE`` pragma
|
|
| 86 | -------------------
|
|
| 87 | - |
|
| 88 | -The ``INCLUDE`` used to be necessary for specifying header files to be
|
|
| 89 | -included when using the FFI and compiling via C. It is no longer
|
|
| 90 | -required for GHC, but is accepted (and ignored) for compatibility with
|
|
| 91 | -other compilers.
|
|
| 92 | - |
|
| 93 | 83 | .. _warning-deprecated-pragma:
|
| 94 | 84 | |
| 95 | 85 | ``WARNING`` and ``DEPRECATED`` pragmas
|
| ... | ... | @@ -28,8 +28,7 @@ As a rule of thumb, all the language options are dynamic, as are the |
| 28 | 28 | warning options and the debugging options.
|
| 29 | 29 | |
| 30 | 30 | The rest are static, with the notable exceptions of
|
| 31 | -``-v``, ``-cpp``, ``-fasm``, ``-fvia-C``, ``-fllvm``, and
|
|
| 32 | -``-#include``.
|
|
| 31 | +``-v``, ``-cpp``, ``-fasm``, and ``-fllvm``.
|
|
| 33 | 32 | The OPTIONS sections lists the status of each flag.
|
| 34 | 33 | |
| 35 | 34 | Common suffixes of file names for Haskell are:
|
| ... | ... | @@ -594,42 +594,6 @@ of your profiled program will be different to that of the unprofiled one. |
| 594 | 594 | Process (or ignore) manual ``SCC`` annotations. Can be helpful to ignore annotations from libraries which
|
| 595 | 595 | are not desired.
|
| 596 | 596 | |
| 597 | -.. ghc-flag:: -auto-all
|
|
| 598 | - :shortdesc: *(deprecated)* Alias for :ghc-flag:`-fprof-auto`
|
|
| 599 | - :type: dynamic
|
|
| 600 | - |
|
| 601 | - Deprecated alias for :ghc-flag:`-fprof-auto`
|
|
| 602 | - |
|
| 603 | -.. ghc-flag:: -auto
|
|
| 604 | - :shortdesc: *(deprecated)* Alias for :ghc-flag:`-fprof-auto-exported`
|
|
| 605 | - :type: dynamic
|
|
| 606 | - |
|
| 607 | - Deprecated alias for :ghc-flag:`-fprof-auto-exported`
|
|
| 608 | - |
|
| 609 | -.. ghc-flag:: -caf-all
|
|
| 610 | - :shortdesc: *(deprecated)* Alias for :ghc-flag:`-fprof-cafs`
|
|
| 611 | - :type: dynamic
|
|
| 612 | - |
|
| 613 | - Deprecated alias for :ghc-flag:`-fprof-cafs`
|
|
| 614 | - |
|
| 615 | -.. ghc-flag:: -no-auto-all
|
|
| 616 | - :shortdesc: *(deprecated)* Alias for :ghc-flag:`-fno-prof-auto`
|
|
| 617 | - :type: dynamic
|
|
| 618 | - |
|
| 619 | - Deprecated alias for :ghc-flag:`-fno-prof-auto`
|
|
| 620 | - |
|
| 621 | -.. ghc-flag:: -no-auto
|
|
| 622 | - :shortdesc: *(deprecated)* Alias for :ghc-flag:`-fno-prof-auto`
|
|
| 623 | - :type: dynamic
|
|
| 624 | - |
|
| 625 | - Deprecated alias for :ghc-flag:`-fno-prof-auto`
|
|
| 626 | - |
|
| 627 | -.. ghc-flag:: -no-caf-all
|
|
| 628 | - :shortdesc: *(deprecated)* Alias for :ghc-flag:`-fno-prof-cafs`
|
|
| 629 | - :type: dynamic
|
|
| 630 | - |
|
| 631 | - Deprecated alias for :ghc-flag:`-fno-prof-cafs`
|
|
| 632 | - |
|
| 633 | 597 | .. _prof-time-options:
|
| 634 | 598 | |
| 635 | 599 | Time and allocation profiling
|
| 1 | -.. hlist::
|
|
| 2 | - |
|
| 3 | - * :extension:`ConstrainedClassMethods`
|
|
| 4 | - * :extension:`DeriveDataTypeable`
|
|
| 5 | - * :extension:`DeriveFoldable`
|
|
| 6 | - * :extension:`DeriveFunctor`
|
|
| 7 | - * :extension:`DeriveGeneric`
|
|
| 8 | - * :extension:`DeriveTraversable`
|
|
| 9 | - * :extension:`EmptyDataDecls`
|
|
| 10 | - * :extension:`ExistentialQuantification`
|
|
| 11 | - * :extension:`ExplicitNamespaces`
|
|
| 12 | - * :extension:`FlexibleContexts`
|
|
| 13 | - * :extension:`FlexibleInstances`
|
|
| 14 | - * :extension:`ForeignFunctionInterface`
|
|
| 15 | - * :extension:`FunctionalDependencies`
|
|
| 16 | - * :extension:`GeneralizedNewtypeDeriving`
|
|
| 17 | - * :extension:`ImplicitParams`
|
|
| 18 | - * :extension:`InterruptibleFFI`
|
|
| 19 | - * :extension:`KindSignatures`
|
|
| 20 | - * :extension:`LiberalTypeSynonyms`
|
|
| 21 | - * :extension:`MagicHash`
|
|
| 22 | - * :extension:`MultiParamTypeClasses`
|
|
| 23 | - * :extension:`ParallelListComp`
|
|
| 24 | - * :extension:`PatternGuards`
|
|
| 25 | - * :extension:`PostfixOperators`
|
|
| 26 | - * :extension:`RankNTypes`
|
|
| 27 | - * :extension:`RecursiveDo`
|
|
| 28 | - * :extension:`ScopedTypeVariables`
|
|
| 29 | - * :extension:`StandaloneDeriving`
|
|
| 30 | - * :extension:`TypeOperators`
|
|
| 31 | - * :extension:`TypeSynonymInstances`
|
|
| 32 | - * :extension:`UnboxedTuples`
|
|
| 33 | - * :extension:`UnicodeSyntax`
|
|
| 34 | - * :extension:`UnliftedFFITypes` |
| ... | ... | @@ -149,18 +149,16 @@ test026: |
| 149 | 149 | test -f d026/P/Q$(OBJSUFFIX)
|
| 150 | 150 | |
| 151 | 151 | # test stub generation
|
| 152 | -# -fvia-C, because we want to check that the .hc file can #include the stub.h
|
|
| 153 | 152 | test027:
|
| 154 | 153 | $(RM) B027/F.hi B027/F$(OBJSUFFIX) B027/F_stub.h
|
| 155 | - "$(TEST_HC)" $(TEST_HC_OPTS) -c B027/F.hs -fno-warn-deprecated-flags -fvia-C
|
|
| 154 | + "$(TEST_HC)" $(TEST_HC_OPTS) -c B027/F.hs
|
|
| 156 | 155 | test -f B027/F_stub.h
|
| 157 | 156 | |
| 158 | 157 | # test -stubdir
|
| 159 | -# -fvia-C, because we want to check that the .hc file can #include the stub.h
|
|
| 160 | 158 | test028:
|
| 161 | 159 | $(RM) B028/F.hi B028/F$(OBJSUFFIX)
|
| 162 | 160 | $(RM) stub028/B028/F_stub.h
|
| 163 | - "$(TEST_HC)" $(TEST_HC_OPTS) -c B028/F.hs -stubdir stub028 -fno-warn-deprecated-flags -fvia-C
|
|
| 161 | + "$(TEST_HC)" $(TEST_HC_OPTS) -c B028/F.hs -stubdir stub028
|
|
| 164 | 162 | test -f stub028/B028/F_stub.h
|
| 165 | 163 | |
| 166 | 164 | # -----------------------------------------------------------------------------
|
| ... | ... | @@ -289,16 +287,16 @@ test053: |
| 289 | 287 | # -----------------------------------------------------------------------------
|
| 290 | 288 | # Other tests
|
| 291 | 289 | |
| 292 | -# Test that -keep-s-files works with --make and -fvia-C
|
|
| 290 | +# Test that -keep-s-files works with --make
|
|
| 293 | 291 | test061a:
|
| 294 | 292 | $(RM) A061a.hi A061a$(OBJSUFFIX) A061a.s
|
| 295 | - "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -keep-s-files -fno-warn-deprecated-flags -fvia-C A061a.hs
|
|
| 293 | + "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -keep-s-files A061a.hs
|
|
| 296 | 294 | test -f A061a.s
|
| 297 | 295 | |
| 298 | 296 | # Test that -keep-s-files works without --make
|
| 299 | 297 | test061b:
|
| 300 | 298 | $(RM) A061b.hi A061b$(OBJSUFFIX) A061b.s
|
| 301 | - "$(TEST_HC)" $(TEST_HC_OPTS) -c -keep-s-files -fno-warn-deprecated-flags -fvia-C A061b.hs
|
|
| 299 | + "$(TEST_HC)" $(TEST_HC_OPTS) -c -keep-s-files A061b.hs
|
|
| 302 | 300 | test -f A061b.s
|
| 303 | 301 | |
| 304 | 302 | # Test that -main-is works with --make
|
| 1 | 1 | {-# LANGUAGE CPP #-}
|
| 2 | 2 | {-# OPTIONS_GHC -DTEST #-}
|
| 3 | -{-# OPTIONS_GHC -fffi #-} -- deprecation warning
|
|
| 3 | +{-# OPTIONS_GHC -Wno-such-warning #-} -- warned about exactly once
|
|
| 4 | 4 | #if defined(TEST)
|
| 5 | -{-# LANGUAGE EmptyDataDecls #-}
|
|
| 5 | +{-# LANGUAGE MagicHash #-}
|
|
| 6 | 6 | #endif
|
| 7 | 7 | |
| 8 | 8 | module Test2464 where
|
| 9 | -data T |
|
| 9 | + |
|
| 10 | +import GHC.Exts
|
|
| 11 | + |
|
| 12 | +f :: Int# -> Int#
|
|
| 13 | +f x = x +# 1# |
| 1 | 1 | |
| 2 | -T2464.hs:3:17: warning: [GHC-53692] [-Wdeprecated-flags (in -Wdefault)]
|
|
| 3 | - -fffi is deprecated: use -XForeignFunctionInterface or pragma {-# LANGUAGE ForeignFunctionInterface #-} instead |
|
| 2 | +T2464.hs:3:17: warning: [GHC-93741] [-Wunrecognised-warning-flags (in -Wdefault)]
|
|
| 3 | + unrecognised warning flag: -Wno-such-warning |
| 1 | -{-# options -fffi #-}
|
|
| 1 | +{-# LANGUAGE ForeignFunctionInterface #-}
|
|
| 2 | 2 | |
| 3 | 3 | import Foreign
|
| 4 | 4 | import Foreign.C.Types
|
| 1 | -{-# OPTIONS_GHC -#include "ffi015_cbits.h" #-}
|
|
| 2 | 1 | {-# LANGUAGE ForeignFunctionInterface #-}
|
| 3 | 2 | |
| 4 | 3 | import Foreign
|
| ... | ... | @@ -4,8 +4,6 @@ module Main where |
| 4 | 4 | |
| 5 | 5 | import Foreign
|
| 6 | 6 | |
| 7 | -{-# INCLUDE "fptr01.h" #-}
|
|
| 8 | - |
|
| 9 | 7 | foreign import ccall "&f" fptr :: FunPtr (Ptr Int -> IO ())
|
| 10 | 8 | foreign import ccall "&g" gptr :: FunPtr (Ptr Int -> IO ())
|
| 11 | 9 | foreign import ccall "&h" hptr :: FunPtr (Ptr Int -> IO ())
|
| ... | ... | @@ -5,8 +5,6 @@ module Main where |
| 5 | 5 | import Foreign
|
| 6 | 6 | import GHC.ForeignPtr
|
| 7 | 7 | |
| 8 | -{-# INCLUDE "fptrfail01.h" #-}
|
|
| 9 | - |
|
| 10 | 8 | foreign import ccall "&f" fptr :: FunPtr (Ptr Int -> IO ())
|
| 11 | 9 | |
| 12 | 10 | main :: IO ()
|
| ... | ... | @@ -17,7 +17,7 @@ test('Simple16', normal, compile, ['']) |
| 17 | 17 | test('Simple17', normal, compile, [''])
|
| 18 | 18 | test('Simple18', normal, compile, [''])
|
| 19 | 19 | test('Simple19', normal, compile, [''])
|
| 20 | -test('Simple20', expect_broken(4296), compile, ['-fcontext-stack=10'])
|
|
| 20 | +test('Simple20', expect_broken(4296), compile, ['-freduction-depth=10'])
|
|
| 21 | 21 | test('Simple21', normal, compile, [''])
|
| 22 | 22 | test('Simple22', normal, compile, [''])
|
| 23 | 23 | test('Simple23', normal, compile, [''])
|
| 1 | -{-# OPTIONS_GHC -ftype-function-depth=3 #-}
|
|
| 1 | +{-# OPTIONS_GHC -freduction-depth=3 #-}
|
|
| 2 | 2 | {-# LANGUAGE TypeFamilies, FlexibleContexts, EmptyDataDecls #-}
|
| 3 | 3 | |
| 4 | 4 | module SkolemOccursLoop where
|
| ... | ... | @@ -257,7 +257,6 @@ classify tok = |
| 257 | 257 | ITcomplete_prag{} -> TkPragma
|
| 258 | 258 | ITclose_prag -> TkPragma
|
| 259 | 259 | IToptions_prag{} -> TkPragma
|
| 260 | - ITinclude_prag{} -> TkPragma
|
|
| 261 | 260 | ITlanguage_prag -> TkPragma
|
| 262 | 261 | ITminimal_prag{} -> TkPragma
|
| 263 | 262 | IToverlappable_prag{} -> TkPragma
|
| ... | ... | @@ -397,7 +396,6 @@ inPragma False tok = |
| 397 | 396 | ITann_prag{} -> True
|
| 398 | 397 | ITcomplete_prag{} -> True
|
| 399 | 398 | IToptions_prag{} -> True
|
| 400 | - ITinclude_prag{} -> True
|
|
| 401 | 399 | ITlanguage_prag -> True
|
| 402 | 400 | ITminimal_prag{} -> True
|
| 403 | 401 | IToverlappable_prag{} -> True
|