Summary: 364 instances, 353 unique Text Count -- TODO what else to count while we're here? 1 -- it is a reg. FIXME: remove this restriction. 2 -- spectral/puzzle. TODO Perhaps adjusting the default threshold would be a 1 -- /TODO:/ Add usage example? 1 return "" -- TODO: Use a safe interface. 1 -- TODO: this is a hack. 1 -- TODO: do we need to support `includes_CC_OPTS += -DDYNAMIC_BY_DEFAULT`? 1 -- TODO: We cannot retry on EINTR as the timeout would be wrong. 1 -- TODO: Add some sanity checking!!!! 1 = let !q' = plusInteger q (S# -1#) -- TODO: optimize 1 -- TODO : Should we remove the previosly generated config file? 1 -- TODO This approach doesn't work. 1 // FIXME again: perhaps we should throw a synchronous exception 1 -- TODO Check that the above notes on @f@ are valid. The function successfully 1 * TODO: measure whether we really need these, or whether Mutexes 1 -- TODO: This should be fixed properly, e.g. generated here on demand. 1 newUnitId cid [] = newSimpleUnitId cid -- TODO: this indicates some latent bug... 1 -- TODO: If a wired in package had a compiler plugin, 1 ms_obj_date = Nothing, -- TODO do this, but problem: hi_timestamp is BOGUS 1 -- TODO: Several primops, such as 'copyArray#', only have an inline 1 -- TODO: This could be very well generalized to support instance 1 -- TODO: toIfaceTcArgs seems rather wasteful here 1 -- Explicit definition to avoid dependency on Data.List.Ordered. TODO: add tests 1 -- TODO: is LL right here? 1 -- TODO are we still tracking "good stuff" (_gds) versus 1 -- TODO: We could also check for the last asm instruction which sets 1 -- TODO: need to special case wired in names 1 -- TODO: Move @timeout@ to the @util@ directory and build in a more standard 1 -- TODO recomp014 triggers this assert. What's going on?! 1 -- FIXME: do we really need to zero-init MBAs returned by 'newByteArray#'? 1 -- TODO: an alternative would be to generalize by linking with extra 1 -- TODO: below we use it over temporary register, 1 -- TODO: we could save a byte in a subsequent CMP instruction too, 1 -- TODO: Switch to 'Stage' as the first argument instead of 'String'. 2 -- TODO: Figure out why :reload doesn't load the docs and maybe fix it. 1 // TODO: need to trace various other things in the child 1 -- TODO: get rid of non-derived Show instances 1 -- TODO: There are other interesting patterns we want to replace 1 /* TODO: longlong.c */ 1 -- TODO: Maybe setGlobalTypeEnv should be strict. 1 -- TODO: Since we JUST deprecated 1 TODO: Depending on how much allocation overhead stgMallocBytes uses for 1 -- TODO: Need compiler_stage1_CONFIGURE_OPTS += --disable-library-for-ghci? 1 ArchPPC -> 64 -- TODO: check ABI spec 1 -- TODO: Optimize branch for common case of no aliasing. 3 // TODO: consider implementing this function in Haskell-land 2 -- TODO: Allow us to distinguish between abstract class, 1 -- TODO: 2 let myprec = 10 -- application precedence. TODO Infix constructors 1 * TODO: Consider to switch return type from 'uint32_t' to 'StgWord' #8742 1 /* TODO: Only if !full GC */ 1 = let -- TODO: Literal labels might not actually be in the current package... 1 -- TODO revisit this if we ever do boxity analysis 1 -- TODO: Make this have the proper information 1 -- TODO: if saturated arithmetic is to used, replace 'underflowError' by '0' 1 -- TODO: Is this still needed? See 'runtimeDependencies'. 1 -- TODO: It'd be better to use a scratch reg instead of the add/sub thing. 1 #define BlockedOnMVarRead 14 /* TODO: renumber me, see #9003 */ 1 dataTcOccs, --TODO: Move this somewhere, into utils? 1 // TODO: this may waste some work, if the thunk has 1 -- TODO: maybe super classes should be allowed in abstract class definitions 1 -- TODO: Should @PackageConfiguration@ be simply @()@? Presumably the pair 1 GarbageCollect can check. (not ideal, TODO: better) 1 -- TODO: Reduce the variety of similar flags (e.g. CPP and non-CPP versions). 1 -- TODO (RAE): Change back to ASSERT 1 -- TODO: We should do a no_change check for the dynamic 1 -- TODO: change loadDecls to accept w/o Fingerprint 1 -- TODO: Optimise by switching to sets of packages. 1 -- TODO: Pass the correct way from Rules via Context. 1 -- TODO: This should not be @not <$> flag CrossCompiling@. Instead we 1 # TODO: Remove this once it's no longer necessary 1 -- TODO: What about docs for constructors etc.? 1 -- TODO: Find a way to differentiate between modules loaded without '-haddock' 1 -- TODO: A real dataflow analysis would do a better job here. 1 -- FIXME: it is possible that Handle code using the haDecoder/haEncoder fields 1 -- TODO: 1 -- TODO shouldn't ignore result: 1 -- TODO: switch to Set Package as the order of packages should not matter? 1 -- TODO: Get rid of deprecated 'externalPackageDeps' and drop -Wno-deprecations 1 $white_no_nl = $whitechar # \n -- TODO #8424 1 GT -> case runS go of (!q,!(W# r#)) -> (# q, r# #) -- TODO: handle word/word 1 -- TODO: Add movabs instruction and support 64-bit sets. 1 -- TODO: Not sure if it's worth to write 'Float' optimized versions here 1 TODO: If we remove edges as we use them (eg if we build up A->B remove A->B 1 -- TODO: This used to include HaskellConstants.hs, but that has now gone. 1 -- XXX: TODO: PRETTY: Used to use True here (but GHC used False...) 2 TODO: Currently this code does not tag created pointers, 1 TODO: 1 sqrBigNat x = timesBigNat x x -- TODO: mpn_sqr 1 * TODO: Merge SymbolExtras and Stubs. 1 --TODO: Partially check validity of the cfg. 1 -- TODO: This is copied from the ReadOnlyData case, but it can likely be 1 -- TODO: We should also make arch specific versions of RegAlloc.Graph.TrivColorable 1 /* TODO: implement w/o GMP, c.f. 'integer_gmp_mpn_import()' */ 1 -- TODO: In that case we also do not need to build most of the Stage1 1 -- it is currently missing. TODO: Is this the right thing to do? 1 -- /TODO:/ Also clear up confusion about 'Rec0' and 'Rec1' not really indicating recursion. 1 -- FIXME: Implement and provide instances for Eq and Storable 1 -- FIXME: this is not a complete solution because if the locale encoding is one 1 -- TODO: Do not create a new stack frame if delta is too large. 1 // TODO: Remove this code path, it cannot be taken because 1 -- Helpers for 'Enum Natural'; TODO: optimise & make fusion work 1 TODO: Encode this via an extension to GenStgExpr à la TTG. 1 -- TODO: Investigate if these help or hurt when using split sections. 1 -- TODO: work this into GhcMake!! 1 -- TODO: should `elem` be `wayUnit`? 1 -- TODO: Preprocessing not implemented 1 let loc = mkRealSrcLoc (mkFastString src_filename) 1 1 -- TODO: not great 1 | otherwise -- No match, so push back (FIXME O(n^2)) 1 -- TODO should this be somewhere else? 1 -- TODO: See if we can split some of the live ranges instead of just globally 1 -- TODO: See https://github.com/snowleopard/hadrian/issues/549. 1 This appears to be very rare in practice. TODO Perhaps we should gather 1 -- TODO: show annotations here 1 -- constraints. TODO: Do the same for the type constraints? 1 -- TODO: clean up after testing 1 ("Run " ++ show (builder t)) -- TODO: Bring back contextInfo. 2 // TODO: can we remove this? 1 -- TODO: add some checks here 1 -- (TODO: I don't think we need this --SDM) 1 -- TODO: Use optimization fuel 1 FIXME Currently the functionality to produce "eta-contracted" wrappers is 1 -- TODO: Actually this error swizzle doesn't work 1 -- TODO: Should OutputableX be included in OutputableBndrId? 1 TODO: Make sure that kicking out really *is* a Bad Thing. We've assumed 1 classMinimalDef _ = mkTrue -- TODO: make sure this is the right direction 1 -- TODO : Use input test compiler and not just stage2 compiler. 1 -- TODO: Find a more direct indicator. 1 extra_src_files = {'T4198': ['exitminus1.c']} # TODO: See #12223 1 hpm_src_files = [], -- TODO if we preprocessed it 1 TODO:AZ: remove this, and check if we still need all the UndecidableInstances 1 -- TODO: also print arg docs. 1 -- TODO is it ever called with a Single-Entry thunk? 1 -- TODO: this specializing is not allowed 1 hiddenModules = [], -- TODO: doc only 1 -- better errors. (TODO: how?) 1 -- TODO: experiment with different constructor-ordering 1 -- FIXME: share the buffer between runs, even though that means we can't size the buffer as we want. 1 -- TODO: For small types look at the tag bits instead of reading info table 1 -- TODO: maybe we can be a little more 1 //TODO: we ignore local symbols anyway right? So we can use the 1 // FIXME: do some more verifying here 1 _ -> do -- TODO: Load from TOC, 1 -- FIXME: we should also warn about view patterns that should be 1 -- TODO: do we also have to check the trust of the instantiation? 1 -- TODO: Revisit this 1 --TODO: Remove - Just for development/debugging 1 --TODO: Update CFG for x86 1 // TODO: fill info 1 -- FIXME: Why? The actual comparison is not hard, but what would 1 -- TODO: Eliminate code duplication between the checked and unchecked 1 -- TODO: This is fragile: we should remove this from behind the 1 * TODO: check if this comment is still relevant. 1 // FIXME this is not a good way to tell a program to release 1 -- TODO: replace 'Int' by an enum such as 'PPC_64ABI' 1 -- | TODO: Drop code duplication 1 -- TODO: Maybe also get module headers for module names 1 -- TODO: try to get rid of this instance 1 -} -- TODO Printing infix constructors properly 1 -- TODO: there's no need for these to be FastString, as we don't need the uniq 1 -- TODO: Make sure this error message is good 1 = pprPanic "TODO: NPlusKPat" $ ppr n $$ ppr k $$ ppr geq $$ ppr subtract 1 -- TODO: Make this list complete. 1 -- TODO: Is that still true? Could we use allocatableRegsInClass 1 -- TODO Check if we actually *are* changing any join points' types 1 -- TODO: The @touchy@ utility lives in the @lib/bin@ directory instead of 1 -- TODO: Maybe lcl_iface0 should be pre-renamed to the right thing? Unclear... 1 ppr (L l e) = -- TODO: We can't do this since Located was refactored into 1 -- TODO: Combine this with 'programName'. 1 matching (UnitIdArg _) = \_ -> False -- TODO: warn in this case 1 -- TODO: Change @mk/config.h@ to @shake-build/cfg/config.h@. 1 -- TODO: Get rid of the @includeGhciLib@ hack. 1 -- TODO: maybe associate this with a source location? 1 -- TODO:AZ these constraints do not make sense 1 -- TODO There may be ways to make ticks and join points play 1 -- TODO: Can we get rid of this enumeration of contexts? Since we iterate 1 // TODO: asserting task->cap == NULL would be much stronger 1 -- TODO: Several primop implementations (e.g. 'doNewByteArrayOp') use 1 -- TODO: Isn't vanilla always built? If yes, some conditions are redundant. 1 // TODO: fix this story proper, so that the transformation 1 /* TODO: Stop relying on file extensions to determine input formats. 1 -- TODO: could gather equalities from superclasses too 1 -- of an object file. (TODO: do we actually need this?) 1 -- TODO: This code is duplicated in compiler/main/Packages.hs 1 -- TODO: I don't know how to get this right for rebindable syntax 1 -- TODO: this should not be necessary 1 -- TODO: Augment this Makefile to match the various parameters that the current 1 -- TODO: add work lists to finding triv nodes is easier. 1 // TODO: This sends multiple messages if we write to the same TVar multiple 1 -- TODO: we should do a non-blocking flush here 1 -- otherwise Windows breaks. TODO: Figure out why. 1 -- TODO: The use of nameOccName here is a bit dodgy, because 1 -- TODO: This is wrong 1 -- TODO: Get rid of this hack. 1 # TODO (int-index): restore the -c option when happy/pull/134 is merged. 1 -- TODO: Track command line arguments and package configuration flags. 1 {- TODO: reserve r13 on 64 bit systems only and r30 on 32 bit respectively. 1 -- TODO: Cache the computation. 1 -- FIXME: some of these panics should be converted into proper error messages 1 // TODO I'm not seeing where ALLOC_P_TICKY is used; can it be removed? 1 TODO: The inability to handle objects bigger than BLOCK_SIZE_W means that 1 -- TODO: Should handle the dynamic hi filename properly 1 -- FIXME: I haven't got the types here right yet 1 getLit _ = panic "invalid literal" -- TODO messy failure 1 -- TODO: When it's a synonym implementing a class, we really 1 -- TODO: This will give an unpleasant message if n' 1 -- TODO: Questionable. 1 -- TODO: Signed vs unsigned? 1 -- TODO: Figure out what the correct form of this assert is. It's violated 1 -- TODO: make this the only type for ValBinds 1 {- TODO: enable this later, when we have some good tests in place to 1 -- TODO: add support for prefetch WRITES, 1 lambda without introducing a type let requires a substitution). TODO: Improve 1 -- TODO: This code is duplicated in utils/ghc-pkg/Main.hs 1 -- TODO: setup the local RdrEnv so the error messages look a little better. 1 -- TODO: The 'Semigroup a' constraint will at some point become redundant. 1 -- TODO: ghc -M is unlikely to do the right thing 1 -- TODO: I'm not entirely sure if this is catching what we really want to catch 1 --FIXME: we don't really want to show the unit id here we should 1 /* TODO: Don't just take first block, find smallest sufficient block */ 1 // TODO: do we need to traceTask*() here? 1 -- TODO: Actually this should never happen, because DFuns are 1 -- TODO: align closures only 1 -- TODO: just make a proper new monad for BkpM, rather than use IOEnv 1 -- TODO: Why is this ok? Under linux this code will be in libm.so 1 -- See Note [Unit tuples] in HsTypes (TODO: is this still relevant?) 1 -- TODO: Make PackageType more precise. 1 -- TODO: I'm not sure if this should be semantic_mod or this_mod. 1 -- TODO: This module is currenly shared by all architectures because 1 -- tcg_env (TODO: but maybe this isn't relevant anymore). 1 -- TODO: there is duplication and inconsistency between this and 1 -- TODO: we may be able to replace the following with utils from the binary 1 , "# TODO : find if a better function exists" 1 cons_prec = 5 -- TODO Extract this info from GHC itself 1 (tcg, mod_guts) <- -- TODO: space leaky: call hsc* directly? 1 -- TODO: WRITE MORE DETAILS ON HOW THIS WORKS. 1 -- TODO: stop repeatedly rebuilding the OccEnv 1 -- TODO: Why can we assume that o6 isn't clobbered? -- BL 2009/02 1 It's not clear that this comes up often, however. TODO: Measure how often and 1 -- TODO: use Sum monoid 1 -- TODO: Make this type more precise 1 if not windows && -- TODO: We don't use system GMP on Windows. Fix? 1 -- TODO: make this check a function 1 ; -- TODO This is a little skeevy; maybe handle a bit more directly 1 them as givens when checking the RHS. TODO (RAE): Implement plan. 1 -- TODO: Ticks in unfoldings. Maybe change unfolding so it removes 1 -- TODO: Consider turning Package into a GADT indexed with language and type. 1 -- TODO: Explain this better and refer to ABI spec! 1 ctx <- programContext stage pkg -- TODO: see todo on programContext. 1 -- TODO: (S# -1) cases 1 -- TODO: We need to set @--with-strip=(stripCmdPath :: Action FilePath)@, 1 -- TODO: Distinguish between signature merging and signature 1 -- TODO: Do a better job of the overloading, and eliminate this module. 1 -- TODO: remove this use of append somehow (use a data structure with O(1) append but a left-to-right kind of interface) 1 (Used only for PArray, TODO: remove?) 1 -- TODO: check code duplication w.r.t. ConfCcArgs 1 -- TODO: This is conceptually wrong! 1 -- TODO: Get rid of this hack. 2 -- TODO: Move this to build directory? 1 -- TODO: It might be nice to extend these constructors with information 1 -- TODO: Can we extract this information from Cabal files? 1 -- TODO: should be in a different file 1 -- TODO: we should do a non-blocking flush here 1 -- TODO: Maybe move this to HsExtensions? I'm not sure about the implications 1 -- TODO Consider whether this is the correct rule. It is consistent with 1 -- TODO: When sign extending, GCC only shifts the a_reg right by 17 bits, 1 -- TODO (DV): these are only really used in the 1 -- TODO: Speed up? Switch to Set? 1 -- TODO: move inside withLibLBI 1 -- TODO: Do we really want to the extension point type families to have a closed 1 -- TODO: Make this setting configurable? Setting to True by default seems 1 -- import qualified Data.IntMap.Strict as M --TODO: LabelMap 1 pc -= 1; // TODO: is this right? 1 -- TODO undecidable instance 1 -- TODO: Location of 'gmpBuildPath' is important: it should be outside any 1 -- TODO This instance is not architecture portable. GMP stores numbers as 1 -- TODO (RAE): This is inadequate, as it doesn't flatten the kind of 1 {- | dataConIsInfix dc, (t1:t2:tt') <- tt --TODO fixity 1 -- TODO could optimize with an aborting variant of zipWith since 1 -- TODO: This is copied from the ReadOnlyData case, but it can likely be 1 -- TODO: Possible optimisation: 1 -- TODO: Add levity polymorphism check for the resulting expression. 1 -- TODO: Windows supports lazy binding (but GHC doesn't currently support 1 -- TODO: This should really just use GHC's Unique and Uniq{Set,FM} 1 -- TODO: 1-limb BigNats below sqrt(maxBound::GmpLimb) 1 = c_mpn_export1ToAddr# w# addr 0# -- TODO: we don't calling GMP for that 1 -- TODO: simplify, get rid of fake rts context 1 -- TODO: Do we really need all these modes? Why do we need 'Dependencies'? We 1 -- TODO what about windows? 1 happyBuilderArgs = builder Happy ? mconcat [ arg "-ag" -- TODO (int-index): restore the -c option when happy/pull/134 is merged. 1 let ghcBuiltByLlvm = False -- TODO: Implement this check 1 , arg "-e", arg $ "ghc_with_llvm=0" -- TODO: support LLVM 1 -- TODO: remove the redundant case in the original code. 1 -- | TODO: Is there a simpler way to find parent directory? 1 | -- powerPC NCG has a TODO for I8/I16 comparisons, so don't try 1 -- TODO: perhaps we shouldn't do this if there are any strict bindings, 1 TODO: Should these counters be more or less granular? 1 -- TODO: LD_OPTS? 1 -- TODO: Do '-ticky' in all debug ways? 1 -- | TODO: Move to Hadrian utilities. 1 -- TODO: Warnings are transitive, but this is not what we want here: 1 -- TODO (SM): benchmark this against a tail-recursive variant 1 -- TODO: More commentary needed here 1 -- TODO: Shall we use Stage2 for testsuite packages instead? 1 -- TODO: would love to have context 1 // TODO: 2 -- TODO: Use the Types, Luke! (drop partial function) 1 -- TODO: locs are wrong 1 -- TODO (Alp): we might sometimes need more than vanilla! 1 -- TODO: Note that some functions have commented CONSTANT_FOLDED annotations, 1 -- TODO: this seems a bit dodgy, see 'eqTickish' 1 -- TODO: reconcile with includes/Regs.h 1 -- | Update the EPS from a 'GhcMonad'. TODO move to appropriate library spot. 1 -- TODO: Can we extract this information from Cabal files? 1 * TODO: find a better way to do this 1 TODO: a step-by-step replay of the refactor to analyze the performance. 1 -- TODO: this looks for modules in the wrong place 1 -- TODO: Move C source arguments here 1 -- TODO: Do we still need to clean the tree? 1 -- TODO If this function is performance-critical, it would probably 1 // TODO: over/underflow handling? 1 -- TODO (SM): get rid of bang patterns 1 -- FIXME: share the buffer between runs, even if the buffer is not the perfect size 1 -- TODO: generate noReloads from liveSlotsOnEntry 1 TODO: This can probably be solved somehow in SetLevels. The difference between 1 TODO: make sure this still works, it might be bitrotted 1 -- TODO (can't be bothered right now) 1 /* TODO: implement w/o GMP */ 1 -- TODO: set CABAL_MINIMAL_BUILD/CABAL_PLUGIN_BUILD 1 -- TODO: refactor 1 -- TODO: Remove Fun when #14253 is fixed 1 -- TODO/FIXME promotion-hack 2 -- TODO: Cache this, so that we don't repeatedly re-check 1 -- TODO: rename plzTick => plzExprTick, plzTopPick => plzTick 1 -- TODO: Remove stable pointer hack after fixing #9718. 1 -- TODO: won't work if home dir is encoded. 1 -- TODO: This is mostly inter-block 1 -- TODO: The use case here is that we want to build @ghc-proxy@ for the 1 -- TODO: Remove this hack. 1 -- TODO (osa): Why? 1 -- AZ:TODO: Change these all to be Name instead of RdrName. 1 -- TODO: include windows_cconv.h when it's merged, instead of duplicating 1 -- TODO: Instead of using a separate predicate (i.e. isSse2Enabled) to 1 -- TODO: the regClass function is currently hard coded to the default 1 -- AZ:TODO above comment needs to be updated 1 -- TODO: On CISCy x86 and x86_64 we don't necessarily have to add a mov instruction 1 The dictionary gets type [C * (D *)]. IA0_TODO it should be 1 -- AZ:TODO: use XSplice instead of HsSpliced 1 -- TODO: Some builders are required only on certain platforms. For example, 1 -- TODO: either should be Module, or there 1 # TODO: Add {Open,Free}BSD support 1 // TODO: This seems wrong to me. Surely we should be subtracting 1 -- TODO: See Note [Excess polymorphism and join points] 1