compiler/typecheck/TcBackpack.hs (12 lines): - line 90: -- TODO: Distinguish between signature merging and signature - line 122: -- TODO: this should not be necessary - line 141: -- TODO: Actually this should never happen, because DFuns are - line 145: -- TODO: need to special case wired in names - line 148: -- tcg_env (TODO: but maybe this isn't relevant anymore). - line 160: -- TODO: Actually this error swizzle doesn't work - line 164: -- TODO: maybe we can be a little more - line 195: -- TODO: This could be very well generalized to support instance - line 345: -- TODO: Maybe lcl_iface0 should be pre-renamed to the right thing? Unclear... - line 369: -- TODO: The use of nameOccName here is a bit dodgy, because - line 671: -- TODO: Warnings are transitive, but this is not what we want here: - line 992: -- TODO: setup the local RdrEnv so the error messages look a little better. libraries/integer-gmp/src/GHC/Integer/Type.hs (10 lines): - line 162: -- TODO: experiment with different constructor-ordering - line 640: -- TODO: (S# -1) cases - line 651: -- TODO/FIXME promotion-hack - line 672: -- TODO/FIXME promotion-hack - line 768: = let !q' = plusInteger q (S# -1#) -- TODO: optimize - line 1039: -- TODO: 1-limb BigNats below sqrt(maxBound::GmpLimb) - line 1040: sqrBigNat x = timesBigNat x x -- TODO: mpn_sqr - line 1070: -- FIXME: do we really need to zero-init MBAs returned by 'newByteArray#'? - line 1342: GT -> case runS go of (!q,!(W# r#)) -> (# q, r# #) -- TODO: handle word/word - line 1637: -- TODO: Not sure if it's worth to write 'Float' optimized versions here compiler/backpack/DriverBkp.hs (9 lines): - line 80: -- TODO: Preprocessing not implemented - line 83: let loc = mkRealSrcLoc (mkFastString src_filename) 1 1 -- TODO: not great - line 265: -- TODO: work this into GhcMake!! - line 319: hiddenModules = [], -- TODO: doc only - line 432: -- TODO: just make a proper new monad for BkpM, rather than use IOEnv - line 463: -- | Update the EPS from a 'GhcMonad'. TODO move to appropriate library spot. - line 722: -- TODO: this looks for modules in the wrong place - line 815: hpm_src_files = [], -- TODO if we preprocessed it - line 819: ms_obj_date = Nothing, -- TODO do this, but problem: hi_timestamp is BOGUS hadrian/src/Settings/Builders/RunTest.hs (7 lines): - line 87: let ghcBuiltByLlvm = False -- TODO: Implement this check - line 91: -- TODO: set CABAL_MINIMAL_BUILD/CABAL_PLUGIN_BUILD - line 113: , arg "-e", arg $ "ghc_with_llvm=0" -- TODO: support LLVM - line 174: -- TODO: Switch to 'Stage' as the first argument instead of 'String'. - line 189: -- TODO: Switch to 'Stage' as the first argument instead of 'String'. - line 204: -- | TODO: Is there a simpler way to find parent directory? - line 208: -- | TODO: Move to Hadrian utilities. compiler/nativeGen/X86/CodeGen.hs (7 lines): - line 41: --TODO: Remove - Just for development/debugging - line 943: -- TODO: There are other interesting patterns we want to replace - line 1482: -- TODO: Add some sanity checking!!!! - line 1727: --TODO: Update CFG for x86 - line 1873: -- TODO: Add movabs instruction and support 64-bit sets. - line 2885: -- TODO: Why is this ok? Under linux this code will be in libm.so - line 3469: -- TODO: We could also check for the last asm instruction which sets hadrian/src/Settings/Builders/Cabal.hs (6 lines): - line 23: -- TODO: We need to set @--with-strip=(stripCmdPath :: Action FilePath)@, - line 27: -- TODO: See https://github.com/snowleopard/hadrian/issues/549. - line 65: -- TODO: Isn't vanilla always built? If yes, some conditions are redundant. - line 66: -- TODO: Need compiler_stage1_CONFIGURE_OPTS += --disable-library-for-ghci? - line 67: -- TODO: should `elem` be `wayUnit`? - line 95: -- TODO: LD_OPTS? hadrian/src/Packages.hs (6 lines): - line 43: -- TODO: Optimise by switching to sets of packages. - line 132: -- TODO: Can we extract this information from Cabal files? - line 153: -- TODO: The @touchy@ utility lives in the @lib/bin@ directory instead of - line 163: -- TODO: Move @timeout@ to the @util@ directory and build in a more standard - line 168: -- TODO: Can we extract this information from Cabal files? - line 173: -- TODO: Combine this with 'programName'. hadrian/src/Rules/Test.hs (5 lines): - line 24: -- TODO: clean up after testing - line 35: -- TODO : Use input test compiler and not just stage2 compiler. - line 51: -- TODO : Should we remove the previosly generated config file? - line 55: -- TODO This approach doesn't work. - line 130: -- TODO (Alp): we might sometimes need more than vanilla! compiler/codeGen/StgCmmPrim.hs (5 lines): - line 144: -- TODO: Several primop implementations (e.g. 'doNewByteArrayOp') use - line 247: -- TODO: Several primops, such as 'copyArray#', only have an inline - line 2016: -- TODO: Optimize branch for common case of no aliasing. - line 2159: -- TODO: Optimize branch for common case of no aliasing. - line 2221: -- TODO: Optimize branch for common case of no aliasing. libraries/integer-gmp/cbits/wrappers.c (5 lines): - line 203: // TODO: over/underflow handling? - line 410: /* TODO: implement w/o GMP, c.f. 'integer_gmp_mpn_import()' */ - line 432: /* TODO: implement w/o GMP */ - line 505: // TODO: consider implementing this function in Haskell-land - line 525: // TODO: consider implementing this function in Haskell-land ghc/GHCi/UI.hs (4 lines): - line 626: -- TODO: this is a hack. - line 1718: -- TODO: Maybe also get module headers for module names - line 1727: -- TODO: also print arg docs. - line 3952: -- TODO: won't work if home dir is encoded. rts/Schedule.c (4 lines): - line 1911: // FIXME this is not a good way to tell a program to release - line 1919: // FIXME again: perhaps we should throw a synchronous exception - line 2115: // TODO: need to trace various other things in the child - line 2732: // TODO: do we need to traceTask*() here? compiler/main/DriverPipeline.hs (4 lines): - line 160: -- TODO recomp014 triggers this assert. What's going on?! - line 166: -- TODO: Questionable. - line 702: -- TODO shouldn't ignore result: - line 744: -- of an object file. (TODO: do we actually need this?) compiler/main/InteractiveEval.hs (4 lines): - line 857: -- TODO: What about docs for constructors etc.? - line 876: -- TODO: Find a more direct indicator. - line 883: -- TODO: Find a way to differentiate between modules loaded without '-haddock' - line 913: -- TODO: Figure out why :reload doesn't load the docs and maybe fix it. compiler/typecheck/TcRnDriver.hs (4 lines): - line 230: ; -- TODO This is a little skeevy; maybe handle a bit more directly - line 721: -- TODO: Maybe setGlobalTypeEnv should be strict. - line 784: -- FIXME: Why? The actual comparison is not hard, but what would - line 1067: -- TODO: When it's a synonym implementing a class, we really hadrian/src/Hadrian/Haskell/Cabal/Parse.hs (4 lines): - line 103: -- TODO: Track command line arguments and package configuration flags. - line 181: -- TODO: This is conceptually wrong! - line 216: -- TODO: Get rid of deprecated 'externalPackageDeps' and drop -Wno-deprecations - line 232: -- TODO: Get rid of this hack. compiler/backpack/RnModIface.hs (4 lines): - line 72: -- TODO: maybe associate this with a source location? - line 109: -- TODO: - line 317: -- TODO: would love to have context - line 318: -- TODO: This will give an unpleasant message if n' hadrian/src/Rules/Program.hs (4 lines): - line 18: -- | TODO: Drop code duplication - line 48: -- TODO: Shall we use Stage2 for testsuite packages instead? - line 60: ctx <- programContext stage pkg -- TODO: see todo on programContext. - line 78: -- TODO: Is this still needed? See 'runtimeDependencies'. hadrian/src/Builder.hs (4 lines): - line 77: -- TODO: Do we really need all these modes? Why do we need 'Dependencies'? We - line 241: -- otherwise Windows breaks. TODO: Figure out why. - line 279: -- TODO: Some builders are required only on certain platforms. For example, - line 326: return "" -- TODO: Use a safe interface. hadrian/src/Rules/Documentation.hs (3 lines): - line 43: -- TODO: Get rid of this hack. - line 59: -- TODO: Get rid of this hack. - line 202: -- TODO: Pass the correct way from Rules via Context. compiler/main/Packages.hs (3 lines): - line 645: -- TODO: This code is duplicated in utils/ghc-pkg/Main.hs - line 878: matching (UnitIdArg _) = \_ -> False -- TODO: warn in this case - line 1528: -- TODO: If a wired in package had a compiler plugin, hadrian/src/Hadrian/Package.hs (3 lines): - line 31: -- TODO: Make PackageType more precise. - line 37: -- TODO: Consider turning Package into a GADT indexed with language and type. - line 58: -- TODO: Remove this hack. compiler/stgSyn/StgSyn.hs (3 lines): - line 250: TODO: Encode this via an extension to GenStgExpr à la TTG. - line 460: -- TODO: Maybe move this to HsExtensions? I'm not sure about the implications - line 463: -- TODO: Do we really want to the extension point type families to have a closed hadrian/src/Settings/Builders/Ghc.hs (3 lines): - line 69: -- TODO: an alternative would be to generalize by linking with extra - line 82: -- TODO what about windows? - line 134: -- TODO: Do '-ticky' in all debug ways? compiler/nativeGen/PIC.hs (3 lines): - line 23: TODO: make sure this still works, it might be bitrotted - line 759: -- TODO: below we use it over temporary register, - line 777: -- TODO: Explain this better and refer to ABI spec! compiler/coreSyn/CoreLint.hs (3 lines): - line 730: -- TODO Consider whether this is the correct rule. It is consistent with - line 994: lambda without introducing a type let requires a substitution). TODO: Improve - line 2748: -- TODO: Ticks in unfoldings. Maybe change unfolding so it removes compiler/cmm/CmmOpt.hs (3 lines): - line 242: | -- powerPC NCG has a TODO for I8/I16 comparisons, so don't try - line 362: -- it is a reg. FIXME: remove this restriction. - line 368: -- it is a reg. FIXME: remove this restriction. hadrian/src/Settings/Packages.hs (3 lines): - line 105: -- TODO: This should not be @not <$> flag CrossCompiling@. Instead we - line 109: -- TODO: In that case we also do not need to build most of the Stage1 - line 113: -- TODO: The use case here is that we want to build @ghc-proxy@ for the compiler/nativeGen/RegAlloc/Graph/SpillClean.hs (3 lines): - line 290: -- TODO: This is mostly inter-block - line 293: -- TODO: generate noReloads from liveSlotsOnEntry - line 377: -- TODO: A real dataflow analysis would do a better job here. compiler/nativeGen/PPC/CodeGen.hs (3 lines): - line 825: _ -> do -- TODO: Load from TOC, - line 1568: -- TODO: replace 'Int' by an enum such as 'PPC_64ABI' - line 1741: -- TODO: Do not create a new stack frame if delta is too large. compiler/main/HscMain.hs (3 lines): - line 1087: -- TODO: do we also have to check the trust of the instantiation? - line 1327: -- TODO: We should do a no_change check for the dynamic - line 1329: -- TODO: Should handle the dynamic hi filename properly hadrian/src/Rules/Generate.hs (3 lines): - line 132: -- TODO: This should be fixed properly, e.g. generated here on demand. - line 177: -- TODO: simplify, get rid of fake rts context - line 184: -- TODO: Use the Types, Luke! (drop partial function) hadrian/src/Settings.hs (3 lines): - line 53: -- TODO: there is duplication and inconsistency between this and - line 65: -- TODO: switch to Set Package as the order of packages should not matter? - line 70: -- TODO: Speed up? Switch to Set? compiler/codeGen/StgCmmTicky.hs (3 lines): - line 452: -- TODO what else to count while we're here? - line 466: -- TODO are we still tracking "good stuff" (_gds) versus - line 535: -- TODO is it ever called with a Single-Entry thunk? libraries/base/GHC/IO/Handle/Text.hs (3 lines): - line 740: -- TODO: Possible optimisation: - line 760: -- TODO: we should do a non-blocking flush here - line 772: -- TODO: we should do a non-blocking flush here compiler/ghci/RtClosureInspect.hs (3 lines): - line 230: cons_prec = 5 -- TODO Extract this info from GHC itself - line 241: {- | dataConIsInfix dc, (t1:t2:tt') <- tt --TODO fixity - line 244: -} -- TODO Printing infix constructors properly hadrian/src/Rules.hs (2 lines): - line 65: -- TODO: Get rid of the @includeGhciLib@ hack. - line 110: -- TODO: Can we get rid of this enumeration of contexts? Since we iterate compiler/typecheck/TcTyClsDecls.hs (2 lines): - line 1414: -- TODO: Allow us to distinguish between abstract class, - line 2092: them as givens when checking the RHS. TODO (RAE): Implement plan. compiler/nativeGen/RegAlloc/Graph/Spill.hs (2 lines): - line 39: -- TODO: See if we can split some of the live ranges instead of just globally - line 42: -- TODO: On CISCy x86 and x86_64 we don't necessarily have to add a mov instruction hadrian/src/Base.hs (2 lines): - line 52: -- TODO: Move this to build directory? - line 66: -- TODO: Change @mk/config.h@ to @shake-build/cfg/config.h@. hadrian/src/Rules/BinaryDist.hs (2 lines): - line 197: -- TODO: Augment this Makefile to match the various parameters that the current - line 218: , "# TODO : find if a better function exists" hadrian/src/Oracles/Setting.hs (2 lines): - line 62: -- TODO: Reduce the variety of similar flags (e.g. CPP and non-CPP versions). - line 172: -- TODO: Windows supports lazy binding (but GHC doesn't currently support compiler/codeGen/StgCmmUtils.hs (2 lines): - line 105: = let -- TODO: Literal labels might not actually be in the current package... - line 218: -- TODO: reconcile with includes/Regs.h compiler/utils/Pretty.hs (2 lines): - line 756: -- XXX: TODO: PRETTY: Used to use True here (but GHC used False...) - line 821: -- XXX: TODO: PRETTY: Used to use True here (but GHC used False...) utils/ghc-pkg/Main.hs (2 lines): - line 938: -- TODO: This code is duplicated in compiler/main/Packages.hs - line 2110: -- TODO: add some checks here compiler/main/DynFlags.hs (2 lines): - line 3786: -- TODO: Since we JUST deprecated - line 5811: -- TODO: Instead of using a separate predicate (i.e. isSse2Enabled) to rts/Stats.c (2 lines): - line 91: // TODO: This seems wrong to me. Surely we should be subtracting - line 1396: TODO: Should these counters be more or less granular? hadrian/src/Rules/Configure.hs (2 lines): - line 13: -- TODO: Make this list complete. - line 37: -- TODO: This is fragile: we should remove this from behind the libraries/base/GHC/Natural.hs (2 lines): - line 98: -- TODO: Note that some functions have commented CONSTANT_FOLDED annotations, - line 124: -- TODO: if saturated arithmetic is to used, replace 'underflowError' by '0' libraries/base/GHC/IO/Encoding/CodePage/API.hs (2 lines): - line 210: -- FIXME: share the buffer between runs, even if the buffer is not the perfect size - line 271: -- FIXME: share the buffer between runs, even though that means we can't size the buffer as we want. compiler/rename/RnExpr.hs (2 lines): - line 1859: -- TODO: perhaps we shouldn't do this if there are any strict bindings, - line 1927: -- TODO: I don't know how to get this right for rebindable syntax compiler/types/TyCoRep.hs (2 lines): - line 3199: -- TODO (RAE): Change back to ASSERT - line 3871: -- TODO: toIfaceTcArgs seems rather wasteful here rts/sm/Sanity.c (2 lines): - line 847: // TODO: - line 854: // TODO: rts/linker/Elf.c (2 lines): - line 179: // TODO: fill info - line 840: //TODO: we ignore local symbols anyway right? So we can use the compiler/main/Finder.hs (2 lines): - line 200: -- TODO: ghc -M is unlikely to do the right thing - line 709: --FIXME: we don't really want to show the unit id here we should hadrian/src/Hadrian/Builder.hs (2 lines): - line 131: ("Run " ++ show (builder t)) -- TODO: Bring back contextInfo. - line 141: ("Run " ++ show (builder t)) -- TODO: Bring back contextInfo. compiler/hsSyn/HsExpr.hs (2 lines): - line 2349: -- AZ:TODO: use XSplice instead of HsSpliced - line 2853: -- TODO:AZ these constraints do not make sense hadrian/src/Hadrian/Utilities.hs (2 lines): - line 76: -- Explicit definition to avoid dependency on Data.List.Ordered. TODO: add tests - line 511: -- TODO: Make this setting configurable? Setting to True by default seems compiler/nativeGen/TargetReg.hs (2 lines): - line 6: -- TODO: Do a better job of the overloading, and eliminate this module. - line 10: -- TODO: We should also make arch specific versions of RegAlloc.Graph.TrivColorable compiler/iface/LoadIface.hs (2 lines): - line 287: -- TODO: Make sure this error message is good - line 908: -- TODO: make this check a function utils/genapply/Main.hs (2 lines): - line 522: -- TODO: remove the redundant case in the original code. - line 554: -- TODO: refactor compiler/typecheck/TcSMonad.hs (2 lines): - line 118: -- TODO (DV): these are only really used in the - line 868: TODO: Make sure that kicking out really *is* a Bad Thing. We've assumed compiler/types/Class.hs (2 lines): - line 123: -- TODO: maybe super classes should be allowed in abstract class definitions - line 127: classMinimalDef _ = mkTrue -- TODO: make sure this is the right direction compiler/simplCore/OccurAnal.hs (2 lines): - line 698: This appears to be very rare in practice. TODO Perhaps we should gather - line 1716: -- TODO There may be ways to make ticks and join points play compiler/typecheck/TcPatSyn.hs (2 lines): - line 646: -- TODO: Make this have the proper information - line 1134: = pprPanic "TODO: NPlusKPat" $ ppr n $$ ppr k $$ ppr geq $$ ppr subtract libraries/base/GHC/Event/PSQ.hs (2 lines): - line 55: -- TODO (SM): get rid of bang patterns - line 169: -- TODO (SM): benchmark this against a tail-recursive variant compiler/basicTypes/Demand.hs (2 lines): - line 1882: -- TODO revisit this if we ever do boxity analysis - line 1885: -- TODO could optimize with an aborting variant of zipWith since compiler/main/GhcMake.hs (2 lines): - line 262: -- TODO: Figure out what the correct form of this assert is. It's violated - line 1294: -- TODO: Cache this, so that we don't repeatedly re-check hadrian/src/Rules/Gmp.hs (2 lines): - line 34: -- TODO: Location of 'gmpBuildPath' is important: it should be outside any - line 66: if not windows && -- TODO: We don't use system GMP on Windows. Fix? compiler/types/Type.hs (2 lines): - line 2387: -- TODO: See Note [Excess polymorphism and join points] - line 2431: It's not clear that this comes up often, however. TODO: Measure how often and compiler/nativeGen/Format.hs (2 lines): - line 4: -- TODO: Signed vs unsigned? - line 6: -- TODO: This module is currenly shared by all architectures because compiler/typecheck/TcFlatten.hs (2 lines): - line 903: TODO: a step-by-step replay of the refactor to analyze the performance. - line 1125: -- TODO (RAE): This is inadequate, as it doesn't flatten the kind of libraries/base/GHC/Generics.hs (2 lines): - line 414: -- /TODO:/ Add usage example? - line 700: -- /TODO:/ Also clear up confusion about 'Rec0' and 'Rec1' not really indicating recursion. compiler/deSugar/DsMeta.hs (2 lines): - line 1280: -- FIXME: some of these panics should be converted into proper error messages - line 1348: -- FIXME: I haven't got the types here right yet compiler/utils/Platform.hs (1 line): - line 44: -- TODO: It might be nice to extend these constructors with information compiler/simplCore/FloatOut.hs (1 line): - line 338: TODO: This can probably be solved somehow in SetLevels. The difference between compiler/cmm/CmmContFlowOpt.hs (1 line): - line 328: TODO: testsuite/driver/testlib.py (1 line): - line 26: extra_src_files = {'T4198': ['exitminus1.c']} # TODO: See #12223 includes/Cmm.h (1 line): - line 425: // TODO I'm not seeing where ALLOC_P_TICKY is used; can it be removed? libraries/base/GHC/IO/Encoding/Latin1.hs (1 line): - line 134: -- TODO: Eliminate code duplication between the checked and unchecked includes/stg/Prim.h (1 line): - line 59: /* TODO: longlong.c */ compiler/main/PackageConfig.hs (1 line): - line 56: -- TODO: there's no need for these to be FastString, as we don't need the uniq rts/win32/OSMem.c (1 line): - line 146: /* TODO: Don't just take first block, find smallest sufficient block */ compiler/parser/RdrHsSyn.hs (1 line): - line 1000: -- See Note [Unit tuples] in HsTypes (TODO: is this still relevant?) compiler/hsSyn/PlaceHolder.hs (1 line): - line 31: TODO:AZ: remove this, and check if we still need all the UndecidableInstances compiler/hsSyn/HsExtension.hs (1 line): - line 1101: -- TODO: Should OutputableX be included in OutputableBndrId? compiler/hsSyn/HsPat.hs (1 line): - line 88: -- AZ:TODO above comment needs to be updated compiler/prelude/primops.txt.pp (1 line): - line 2517: -- TODO Check that the above notes on @f@ are valid. The function successfully compiler/main/GHC.hs (1 line): - line 1045: (tcg, mod_guts) <- -- TODO: space leaky: call hsc* directly? compiler/parser/Parser.y (1 line): - line 2759: -- TODO: is LL right here? compiler/cmm/CmmNode.hs (1 line): - line 281: -- (TODO: I don't think we need this --SDM) compiler/main/HscStats.hs (1 line): - line 168: -- TODO: use Sum monoid compiler/hsSyn/HsDumpAst.hs (1 line): - line 123: -- TODO: show annotations here compiler/cmm/CmmMachOp.hs (1 line): - line 600: -- TODO: add support for prefetch WRITES, compiler/nativeGen/BlockLayout.hs (1 line): - line 145: TODO: If we remove edges as we use them (eg if we build up A->B remove A->B compiler/simplCore/SimplMonad.hs (1 line): - line 135: -- TODO: this specializing is not allowed libraries/integer-gmp/src/GHC/Integer/GMP/Internals.hs (1 line): - line 240: = c_mpn_export1ToAddr# w# addr 0# -- TODO: we don't calling GMP for that compiler/hsSyn/HsBinds.hs (1 line): - line 131: -- TODO: make this the only type for ValBinds compiler/typecheck/TcRnMonad.hs (1 line): - line 288: -- better errors. (TODO: how?) compiler/typecheck/TcValidity.hs (1 line): - line 1359: The dictionary gets type [C * (D *)]. IA0_TODO it should be compiler/utils/Binary.hs (1 line): - line 507: -- TODO This instance is not architecture portable. GMP stores numbers as compiler/coreSyn/CoreUtils.hs (1 line): - line 2180: | otherwise -- No match, so push back (FIXME O(n^2)) rts/Libdw.c (1 line): - line 235: pc -= 1; // TODO: is this right? libraries/ghc-boot/GHC/PackageDb.hs (1 line): - line 381: -- TODO: we may be able to replace the following with utils from the binary rts/sm/GC.c (1 line): - line 886: GarbageCollect can check. (not ideal, TODO: better) compiler/utils/GraphColor.hs (1 line): - line 128: -- TODO: add work lists to finding triv nodes is easier. libraries/base/Foreign/C/Types.hs (1 line): - line 219: -- FIXME: Implement and provide instances for Eq and Storable rts/linker/LoadArchive.c (1 line): - line 461: /* TODO: Stop relying on file extensions to determine input formats. utils/hpc/HpcOverlay.hs (1 line): - line 76: -- TODO: rename plzTick => plzExprTick, plzTopPick => plzTick compiler/types/Unify.hs (1 line): - line 933: -- TODO: More commentary needed here rts/win32/GetTime.c (1 line): - line 87: // TODO: Remove this code path, it cannot be taken because compiler/rename/RnUtils.hs (1 line): - line 457: -- AZ:TODO: Change these all to be Name instead of RdrName. compiler/nativeGen/X86/Ppr.hs (1 line): - line 676: -- TODO: we could save a byte in a subsequent CMP instruction too, hadrian/src/Hadrian/Oracles/Cabal/Type.hs (1 line): - line 38: -- TODO: Should @PackageConfiguration@ be simply @()@? Presumably the pair compiler/nativeGen/SPARC/CodeGen/Expand.hs (1 line): - line 94: -- TODO: It'd be better to use a scratch reg instead of the add/sub thing. libraries/base/GHC/Enum.hs (1 line): - line 948: -- Helpers for 'Enum Natural'; TODO: optimise & make fusion work libraries/base/GHC/IO/Handle/Internals.hs (1 line): - line 368: -- FIXME: it is possible that Handle code using the haDecoder/haEncoder fields compiler/basicTypes/Module.hs (1 line): - line 865: newUnitId cid [] = newSimpleUnitId cid -- TODO: this indicates some latent bug... hadrian/src/Settings/Builders/DeriveConstants.hs (1 line): - line 6: -- TODO: do we need to support `includes_CC_OPTS += -DDYNAMIC_BY_DEFAULT`? hadrian/src/Rules/Libffi.hs (1 line): - line 73: -- TODO: check code duplication w.r.t. ConfCcArgs rts/Trace.h (1 line): - line 847: // TODO: asserting task->cap == NULL would be much stronger hadrian/src/Hadrian/Expression.hs (1 line): - line 37: -- TODO: The 'Semigroup a' constraint will at some point become redundant. compiler/parser/Lexer.x (1 line): - line 123: $white_no_nl = $whitechar # \n -- TODO #8424 libraries/base/GHC/IO/Encoding.hs (1 line): - line 154: -- FIXME: this is not a complete solution because if the locale encoding is one includes/rts/Constants.h (1 line): - line 235: #define BlockedOnMVarRead 14 /* TODO: renumber me, see #9003 */ rts/linker/PEi386.c (1 line): - line 1563: * TODO: check if this comment is still relevant. utils/ghc-cabal/Main.hs (1 line): - line 396: -- TODO: move inside withLibLBI compiler/nativeGen/SPARC/Ppr.hs (1 line): - line 333: -- TODO: This is copied from the ReadOnlyData case, but it can likely be compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs (1 line): - line 44: -- TODO: Is that still true? Could we use allocatableRegsInClass compiler/nativeGen/PPC/Ppr.hs (1 line): - line 277: -- TODO: This is copied from the ReadOnlyData case, but it can likely be hadrian/src/Utilities.hs (1 line): - line 31: -- TODO: Cache the computation. rts/linker/elf_reloc_aarch64.c (1 line): - line 261: // TODO: fix this story proper, so that the transformation hadrian/src/Settings/Builders/Common.hs (1 line): - line 51: -- TODO: should be in a different file compiler/deSugar/Check.hs (1 line): - line 173: -- constraints. TODO: Do the same for the type constraints? compiler/main/SysTools/Info.hs (1 line): - line 132: -- TODO: Investigate if these help or hurt when using split sections. compiler/cmm/Hoopl/Label.hs (1 line): - line 20: -- TODO: This should really just use GHC's Unique and Uniq{Set,FM} compiler/deSugar/Match.hs (1 line): - line 219: -- FIXME: we should also warn about view patterns that should be rts/RtsAPI.c (1 line): - line 25: TODO: Currently this code does not tag created pointers, rts/linker/MachO.c (1 line): - line 225: // FIXME: do some more verifying here compiler/ghci/Debugger.hs (1 line): - line 184: let myprec = 10 -- application precedence. TODO Infix constructors libraries/base/GHC/Event/KQueue.hsc (1 line): - line 264: -- TODO: We cannot retry on EINTR as the timeout would be wrong. compiler/stranal/WwLib.hs (1 line): - line 360: FIXME Currently the functionality to produce "eta-contracted" wrappers is compiler/typecheck/TcDerivInfer.hs (1 line): - line 716: -- TODO: This is wrong compiler/cmm/PprC.hs (1 line): - line 158: -- TODO: align closures only compiler/nativeGen/CFG.hs (1 line): - line 64: -- import qualified Data.IntMap.Strict as M --TODO: LabelMap compiler/nativeGen/RegAlloc/Linear/Main.hs (1 line): - line 565: -- TODO (can't be bothered right now) compiler/basicTypes/RdrName.hs (1 line): - line 1143: -- TODO: either should be Module, or there compiler/nativeGen/RegAlloc/Graph/Main.hs (1 line): - line 60: -- TODO: the regClass function is currently hard coded to the default includes/rts/SpinLock.h (1 line): - line 12: * TODO: measure whether we really need these, or whether Mutexes rts/sm/Storage.c (1 line): - line 1356: TODO: The inability to handle objects bigger than BLOCK_SIZE_W means that compiler/utils/Panic.hs (1 line): - line 221: -- TODO: I'm not entirely sure if this is catching what we really want to catch hadrian/src/Rules/SourceDist.hs (1 line): - line 15: -- TODO: Do we still need to clean the tree? includes/CodeGen.Platform.hs (1 line): - line 896: {- TODO: reserve r13 on 64 bit systems only and r30 on 32 bit respectively. compiler/coreSyn/MkCore.hs (1 line): - line 766: -- TODO: Remove stable pointer hack after fixing #9718. rts/Adjustor.c (1 line): - line 779: TODO: Depending on how much allocation overhead stgMallocBytes uses for rts/StableName.c (1 line): - line 245: /* TODO: Only if !full GC */ compiler/codeGen/StgCmmExpr.hs (1 line): - line 75: -- TODO: For small types look at the tag bits instead of reading info table compiler/nativeGen/AsmCodeGen.hs (1 line): - line 714: --TODO: Partially check validity of the cfg. compiler/coreSyn/CoreUnfold.hs (1 line): - line 850: -- spectral/puzzle. TODO Perhaps adjusting the default threshold would be a compiler/ghci/Linker.hs (1 line): - line 1209: -- TODO: Make this type more precise compiler/rename/RnEnv.hs (1 line): - line 41: dataTcOccs, --TODO: Move this somewhere, into utils? hadrian/src/Rules/Register.hs (1 line): - line 146: -- it is currently missing. TODO: Is this the right thing to do? rts/RtsProbes.d (1 line): - line 17: * TODO: find a better way to do this compiler/basicTypes/SrcLoc.hs (1 line): - line 569: ppr (L l e) = -- TODO: We can't do this since Located was refactored into libraries/base/Data/Typeable/Internal.hs (1 line): - line 516: -- TODO: Remove Fun when #14253 is fixed compiler/nativeGen/SPARC/Regs.hs (1 line): - line 231: -- TODO: Why can we assume that o6 isn't clobbered? -- BL 2009/02 compiler/simplCore/SAT.hs (1 line): - line 203: -- TODO: remove this use of append somehow (use a data structure with O(1) append but a left-to-right kind of interface) rts/RaiseAsync.c (1 line): - line 893: // TODO: this may waste some work, if the thunk has libraries/base/System/Environment/Blank.hsc (1 line): - line 68: -- TODO: include windows_cconv.h when it's merged, instead of duplicating compiler/basicTypes/DataCon.hs (1 line): - line 1404: -- TODO: could gather equalities from superclasses too compiler/utils/TrieMap.hs (1 line): - line 349: -- TODO undecidable instance compiler/coreSyn/CoreMap.hs (1 line): - line 345: -- TODO: this seems a bit dodgy, see 'eqTickish' compiler/nativeGen/SPARC/CodeGen/Gen32.hs (1 line): - line 390: -- TODO: When sign extending, GCC only shifts the a_reg right by 17 bits, compiler/codeGen/StgCmmCon.hs (1 line): - line 105: -- TODO (osa): Why? hadrian/src/Settings/Builders/Happy.hs (1 line): - line 6: happyBuilderArgs = builder Happy ? mconcat [ arg "-ag" -- TODO (int-index): restore the -c option when happy/pull/134 is merged. compiler/rename/RnTypes.hs (1 line): - line 1246: -- TODO: locs are wrong compiler/nativeGen/PPC/Instr.hs (1 line): - line 588: ArchPPC -> 64 -- TODO: check ABI spec compiler/iface/TcIface.hs (1 line): - line 370: -- TODO: change loadDecls to accept w/o Fingerprint includes/rts/storage/ClosureMacros.h (1 line): - line 359: * TODO: Consider to switch return type from 'uint32_t' to 'StgWord' #8742 compiler/basicTypes/UniqSupply.hs (1 line): - line 152: -- TODO: try to get rid of this instance libraries/base/GHC/Foreign.hs (1 line): - line 169: -- TODO If this function is performance-critical, it would probably compiler/cmm/CmmParse.y (1 line): - line 898: getLit _ = panic "invalid literal" -- TODO messy failure rts/linker/MachOTypes.h (1 line): - line 100: * TODO: Merge SymbolExtras and Stubs. rts/STM.c (1 line): - line 340: // TODO: This sends multiple messages if we write to the same TVar multiple hadrian/src/Way/Type.hs (1 line): - line 21: -- TODO: get rid of non-derived Show instances compiler/deSugar/Coverage.hs (1 line): - line 332: -- TODO: Revisit this compiler/specialise/SpecConstr.hs (1 line): - line 613: (Used only for PArray, TODO: remove?) libraries/base/GHC/Constants.hs (1 line): - line 6: -- TODO: This used to include HaskellConstants.hs, but that has now gone. libraries/base/GHC/Real.hs (1 line): - line 706: -- TODO: compiler/deSugar/DsArrows.hs (1 line): - line 1095: -- TODO: Add levity polymorphism check for the resulting expression. includes/RtsAPI.h (1 line): - line 250: // TODO: can we remove this? compiler/cmm/CmmSink.hs (1 line): - line 242: {- TODO: enable this later, when we have some good tests in place to testsuite/driver/cpu_features.py (1 line): - line 47: # TODO: Add {Open,Free}BSD support compiler/typecheck/TcRnTypes.hs (1 line): - line 3872: -- TODO: WRITE MORE DETAILS ON HOW THIS WORKS. compiler/cmm/CmmCommonBlockElim.hs (1 line): - line 61: -- TODO: Use optimization fuel mk/config.mk.in (1 line): - line 825: # TODO (int-index): restore the -c option when happy/pull/134 is merged. hadrian/stack.yaml (1 line): - line 18: # TODO: Remove this once it's no longer necessary compiler/coreSyn/CoreArity.hs (1 line): - line 1086: -- TODO Check if we actually *are* changing any join points' types distrib/compare/compare.hs (1 line): - line 16: -- TODO: compiler/iface/MkIface.hs (1 line): - line 460: -- TODO: I'm not sure if this should be semantic_mod or this_mod. hadrian/src/Rules/Library.hs (1 line): - line 62: -- TODO should this be somewhere else? hadrian/src/Settings/Default.hs (1 line): - line 168: -- TODO: Move C source arguments here compiler/backpack/NameShape.hs (1 line): - line 117: -- TODO: stop repeatedly rebuilding the OccEnv