Summary: 5545 instances, 4999 unique Text Count // TODO: support invoke, threads. We rely on the fact that nothing can modify 1 // FIXME: this checks both static and dynamic properties of the call, which 1 /// TODO: Handle ExitSU "uses" properly. 1 // TODO: share code with LegalizeResourceUseHelper. 1 // FIXME: LiveIntervals will be updated to remove its dependence on 1 // FIXME: We should be more aggressive here. 2 // FIXME: There is no sys::fs:: api for checking this. 1 // TODO: Add support of communativity. 1 // FIXME: Optimize away range check based on pivot comparisons. 2 Record.push_back((int)D->SClass); // FIXME: stable encoding 1 // FIXME: better to pass in a list (or tree!) of Tokens. 2 // FIXME: If the kind is "compiler" warn if the string is present (it is 1 // FIXME: Remove FunctionDecl parameter. 1 // FIXME: We should have a function to construct CXFiles. 1 /*FIXME:*/KWLoc); 1 // FIXME: There doesn't seem to be a way to indicate in the encoding that 1 # FIXME: I find these names very confusing, although I like the 1 // FIXME: Test cases to make sure this does the right thing for templates. 1 // TODO: verify rest of type 1 // FIXME: The following handlers should use a callback mechanism, we don't 2 // FIXME: Build a reference to this declaration? Convert it to bool? 1 // FIXME: Some simple tests here could identify macro definitions and 1 // FIXME: Need to escape general characters. 1 // FIXME: check qualified member access 1 // FIXME: [dcl.fct.spec]p4: 1 // TODO: do not cheat anymore by simply cleaning all subranges 1 // FIXME: Check if the prior specialization has a point of instantiation. 1 return; // FIXME: Emit a warning? 1 // TODO: add the VariantKinds to op_info->VariantKind for relocation types 1 // FIXME: Cleanup temporaries here, anyway? 1 // FIXME: C++ [temp.local]p8 1 // FIXME: all pre/post visits should eventually be handled by ::Visit(). 1 // FIXME: Because we don't correctly model (yet) sign-extension 1 # FIXME: Refactor into generic test for running some command on a directory 1 // TODO: This should probably be the pointer size. 1 // TODO: handle extra large array size? 1 /*FIXME: ColonLoc */ 1 // TODO: We should optimize vector Xor instructions, but they are 1 // FIXME: Why getNonCompileUnitScope()? 1 // FIXME: A lot of the code below could be shared with EmitMemberExpr. 1 // FIXME: This needs to be refactored; some other isInMainFile users want 1 // FIXME: Parmeters of pointer to functions (y below) that are themselves 1 // FIXME: Need strict checking. In C89, we need to check for 1 {// FIXME: MS Asm doesn't currently parse Constraints, Clobbers, etc. Once 2 // FIXME: Apply DFSan labels. 1 // TODO: Read implicit addend from section data. 1 // TODO: Could also handle negative stride here someday, that will require the 1 // FIXME: we should be able to give a fix-it hint for the correct spelling. 1 // TODO: We can create an inner loop which runs a finite number of 1 // FIXME: We currently don't use control-dependence but simply include all 1 // FIXME: Do something different for soft failure modes? 1 // FIXME: Making this work correctly is nasty because it requires either 2 // FIXME: Does this ever happen? ActOnStartOfFunctionDef forces the function 1 // FIXME: Remove in 4.0. 1 // FIXME: This appears to be a no-op. We loaded the module map for this 1 // TODO: I believe we only end up here if there's a mix of 1 // FIXME: We could use a nicer diagnostic here. 1 // FIXME: In theory we could substitute undef here instead of zero. 1 // FIXME: Attempt to reuse the existing syntactic form of the InitListExpr 1 // FIXME: Turn these into classes so we can have some type safety when 1 // FIXME: Currently the SSAUpdater infrastructure doesn't reason about 1 // compatibility. FIXME: should we deviate?? 1 // TODO: Tighten bound via rigorous analysis of the unbalanced case. 1 // TODO: defer actual comparison to LiteralT 1 /// FIXME: This could learn about optsize, and be used in the cost model. 1 // FIXME: Diagnostic location! 1 // FIXME: What to do if the file name is a macro? 1 /// TODO: This data structure should be shared by the IR optimizer and the 1 // FIXME: Gross. 1 // FIXME: Only f32 to i64 conversions are supported. 1 else // FIXME: offset_type_class, method_type_class, & lang_type_class? 1 # FIXME: Add name_static to anywhere in TARGET ${name}'s PROPERTY. 1 // FIXME: Add the extended attributes. 1 // FIXME: Sharing loads & stores with 32-bit is complicated by the absence 1 // TODO: don't check names. 3 EXPLICIT_SYMBOL(__main) // FIXME: Don't call it. 1 // value. A cleanup that remains TODO is changing 1 // FIXME: Add a general mechanism to include a PartialDiagnostic *'s 1 // FIXME: Will not trap if loading a signaling NaN. 1 // FIXME: Does not handle truncating floating point stores! 1 // TODO: This really should be implemented using a branch rather than a 1 // FIXME: stable encoding for in/out/inout/bycopy/byref/oneway/nullability 1 // FIXME: These two are unrelated and mutually exclusive. So perhaps 1 // FIXME: Don't emit diagnostic at all if fixits are non-commitable. 1 // TODO: Handle opposite shift by exact value. 1 // TODO: This code should be commoned with the code for 1 // FIXME: Replace with a general scheme to tell if the node is 1 // FIXME: Handle CXXThisRegion as well. (This is not a priority because 1 // FIXME: Even a const_iterator returns a non-const BasicBlock pointer. 1 // FIXME: Should we warn for copy-list-initialization in these cases? 1 // FIXME: We were doing a mangleUnqualifiedName() before, but that's 1 // FIXME: We don't want this to happen. Rather, we should be able to 1 // TODO: This is probably something which should be expanded to all 1 // TODO: handle comments for function parameters properly. 1 // FIXME: Take into account the current language when deciding whether a 1 // FIXME: Checking this here is insufficient. We accept-invalid on: 1 // FIXME: The receiver could be a reference to a class, meaning that 1 // FIXME: Alphabetical sort puts 'experimental' in the middle. 1 // FIXME: Do something with these! 1 // FIXME: if we have an array of structures, all explicitly 1 // FIXME: parameter attributes 1 // FIXME: Rename and handle conversion of other evaluatable things 1 // FIXME: Here, we should probably break right after the "(" for consistency. 1 # TODO: 1 // FIXME: Diagnostics should be used instead. 1 // TODO: make sure every opcode is checked. 1 // FIXME: Improve the reported location. 1 // FIXME: should check the other field? 1 // TODO: Figure out why typo correction misbehaves in this case, fix it, and 1 // FIXME: Handle transparent unions where a value can be "transparently" 1 // FIXME: Ocaml binding generates a scope with no content, we treat it 1 // FIXME: Use a better -version message? 2 // FIXME: Deal with Char_S/Char_U. 1 // FIXME: instead of using smart algorithms, we just iterate until we stop 1 // FIXME: We shouldn't need this, the protocol decl should contain enough 1 // TODO: Also add the following extensions if we start to support them. 1 // for CFI. FIXME: Remove this once we support vptr on Windows. 1 // FIXME: Can we do this more efficiently without adding another block? 1 // TODO: remove copy for global in 1 // TODO: Report an error when adding the same successor more than once. 1 // FIXME: Fixup LBraceLoc 1 // FIXME: That isn't a ConditionalOperator, so doesn't get here. 1 // TODO: Add DebugTypeComposite for class and union. 1 // FIXME: We could register any cloned assumptions instead of clearing the 2 // TODO: add validation support code, including calling into right fn 1 // Treat address-space mismatches as fatal. TODO: address subspaces 1 /// FIXME: We could possibly optimize this quite a bit for cases where the 1 // FIXME: These should be output like this: 1 // FIXME: this hack should possibly go away once we can handle 1 // TODO: "devirtualize" this for accesses to known-complete objects. 1 // FIXME: Support a non-canonical deduced type for 'auto'. 1 // TODO: Lifetime managment? 1 // FIXME: there are a variety of strange constraints to enforce here, for 1 /// TODO: Remove default argument 2 // FIXME: Preserve type source info. 1 // FIXME: It should be impossible to have an LValue without alignment for a 2 // FIXME: Should we have a second loadModule() overload to avoid this 1 // FIXME: This should probably be part of SValBuilder. 1 // FIXME: Init should never be null. 2 // TODO: Handle TK_RuntimeArray. We need spec updates for the bindless array. 1 // FIXME: This is getting out of hand, write a decent parser. 1 // FIXME: If the pointee isn't an integer type, should we flag a warning? 1 # FIXME: Why is this named files, when does it have multiple 1 // FIXME: There's no point doing this if we're handling a #__include_macros 1 // TODO: only check operand which used for gradient calculation. 1 // FIXME: If we have local visibility but not modules enabled, the 1 /// FIXME: This is basically just for bringup, this can be made a lot more rich 1 // rather than hide. FIXME: Look for hiding based on function 1 // FIXME: On some platforms this could be handled by the longjmp/exception 1 // FIXME: POSIX specific. Always accept? 1 // FIXME: This is part of a work around to keep sections near one another 2 // FIXME: Can we handle this in AddedVisibleDecl instead? 1 // TODO: change SerializeRootSignature to take raw_ostream& 1 // TODO: construct vector/matrix and component cast expressions 1 // FIXME: SEHLeaveStmt 1 // FIXME: This is broken if we happen to a comment at the end of a file, which 1 // FIXME: When selecting an implicit conversion for an overloaded 1 // FIXME: Handle multi-dimensional arrays. 1 // class initialization. FIXME: Should we try to check the 1 // FIXME: This is an oversimplification, they should only be related if they 1 // FIXME: This doesn't benefit from the same typo-correction we 1 // FIXME: all non-x86 targets need unwind tables, however, LLVM currently does 1 // TODO: relocate((gep p, C, C2, ...)) -> gep(relocate(p), C, C2, ...) 1 // FIXME: SEHTryStmt 1 // TODO: Should we condition this on whether any functions might 1 // FIXME: Reject attempts to use -march=native unless the target matches 1 // TODO: Should this tunnel through addrspace cast? 1 // FIXME: Serialize this type (C++ only) 1 case Decl::Label: // FIXME: Is this right?? 1 // FIXME: ChooseExpr is really a constant. We need to fix 1 # TODO: Should probably check that this is either a reference or 1 // TODO: change to DxilProperties. 1 // FIXME: The last token is currently not always an eof token; in those 1 // FIXME: OldParm may come from a FunctionProtoType, in which case CurContext 1 // FIXME: better loc info would be nice. 1 // FIXME: Recover nicely in the hidden case. 1 // FIXME: This routine (and other evaluation parts) are *incredibly* sloppy 1 // FIXME: Why isn't this in the subclass gunk?? 1 /// FIXME: Remove the (equivalent?) implementation in SelectionDAG. 1 // FIXME: Loc is too inprecise here, should use proper locations for args. 1 // FIXME: If we support lambdas here, we'll need to set StopAtSemi to false 1 // FIXME: the type of the conditional operator doesn't 1 // TODO: if we ever care about optimizing VLAs, there are no-op 1 // TODO: this version may need to go away once all fragment contents are 1 // TODO: Evaluate as candidate for optimization. 1 // FIXME: This isn't quite right; if we're performing aggregate 1 // TODO: Only do this on basic types. 1 // TODO: Buffer loads aren't legal with container types, check if this is the right wait to handle this 1 // FIXME: What about layers of ElementRegions? 1 // FIXME: We would be able to avoid the libcall in many places if we 1 // FIXME: If a default argument contains an unexpanded parameter pack, the 1 // FIXME: The standard is not entirely clear on how to disambiguate in 1 // FIXME: Should we call this function for all blocks which exit the function? 1 // FIXME: not sure if we want to recognize negation. 1 // FIXME: Emit a warning of some kind? 1 // FIXME: When we perform these implicit instantiations, we do not 1 // FIXME: save results of ADL from here? 1 // FIXME: We capture more information than the dag can represent. For 1 // FIXME: We should return 0 whenever getIntrinsicCost == TCC_Free. 1 // FIXME: This need to be extended to handle instructions with custom 1 // FIXME: This is overly conservative. Dynamic allocas are inefficient for 1 // FIXME: Set up the abbrev, we know how many values there are! 1 // FIXME: Finish this! 1 // FIXME: consider tracking vector origins for app vectors? 1 /* TODO: We could add a flag that lets the user start writing immediately AFTER the existing central dir - this would be safer. */ 1 // FIXME: Merge into a single cstring creation function. 3 // FIXME: Should we even get ActOnModuleInclude calls for those? 1 // FIXME: Move to this file: BasicBlock::removePredecessor, BB::splitBasicBlock 1 // TODO: report this error, but really only once. 1 // FIXME: Being forced to not have a default argument here due to redeclaration 1 // FIXME: This should probably use CharUnits or something. Maybe we should 1 // TODO: fmax(nnan ninf x, -flt_max) -> x 1 /* TODO: Add Support for not Intel compilers for IA64 */ 1 // FIXME: this state can be merged with (2), but the following assert 1 // FIXME: all the access-control diagnostics are positioned on the 1 // TODO: change flattened function names to dx.entry.: 1 // FIXME: these are somewhat meaningless 1 // FIXME: We probably want to use getVirtualFile(), so we don't hit the 1 // FIXME: These should return a real error instead of just true/false. 1 // TODO: handle (unlikely) extra large array size? 2 // FIXME: this should probably be preserved from the overload 1 // TODO: resID could be other types of instructions depending on the compiler optimization. 1 // TODO: Stop handling missing cast here. Handle the casting of non-scalar values 1 // TODO: Do we care about size for enum forward declarations? 1 // FIXME: Traverse bases here too. 1 // FIXME: Better analysis requires IPA for wrappers. 1 // FIXME: Make efficient; the idea is to provide efficient iteration over 1 /// FIXME: Serialize this structure to the AST file. 1 // FIXME: This is horrible. Adding a mechanism to skip an expression 1 // TODO: Allow recursive phi users. 2 // FIXME: This should be an edge property, not a block end property. 1 // FIXME: Set STAB bits. 1 // FIXME: We need to be able to instantiate FriendTemplateDecls. 1 // FIXME: Uncomment when we've moved to C++11. 1 // FIXME: We shouldn't need to get the function info here, the runtime already 1 // FIXME: this may not actually make any sense if we can efficiently move 1 // FIXME: This should use the same heuristics as IfConversion to determine 1 // FIXME: Nodes such as CopyFromReg probably should not advance the current 1 // TODO: add detail error in DxilMDHelper. 1 // FIXME: This diagnostic is absolutely terrible. 1 // FIXME: If a nested response file uses a relative path, is it relative to 1 // FIXME: Subtract necessary number from StackTrace entries to turn return addresses 1 // FIXME: Pass the real colon location in. 1 // TODO: implement this 1 // FIXME: This is a hack. We need a better way to communicate the 1 // FIXME: This information should be propagated through the 1 // FIXME: Decline tailcall if it's not guaranteed and if the block ends in 1 // TODO: handle multiple stream-output objects 2 // FIXME: This is trying not to break up replacements, but then to re-sync 1 // FIXME: This is not complete. We basically treat @throw as 1 //delete this; // FIXME: implement refcounting! 1 // FIXME: Can any of the above throw? If so, when? 1 // FIXME: This will eventually need to handle new-expressions as well. 1 // FIXME: init MCTargetOptions from sanitizer flags here. 1 // FIXME: This breaks backward compatibility, e.g. PR12117. As a 1 return hr; // TODO: this leaks prior items. 1 /// FIXME: this should not be a singly-linked list. Move storage elsewhere. 1 print("// TODO: add type hierarchy") 1 Record.push_back(ON.getKind()); // FIXME: Stable encoding 1 // FIXME: Already done in Compilation *Driver::BuildCompilation 1 // FIXME: Bring more similar combines here, common to sext/zext (maybe aext?). 1 // FIXME: Disable C++ EH completely, until it becomes more reliable. Users 1 // FIXME: When we get proper type location information for exceptions, 1 // (VD) - FIXME: Missing from the standard: 1 // not bothering to keep custom-data for now. TODO: store 1 // FIXME: The next token will not have LeadingSpace set. 1 // TODO: add debug info. 1 // TODO: add debug info to create handle. 1 // TODO: this shouldn't happen, really. Methods cannot be marked __global__. 1 // FIXME: We should be passing source locations for better diagnostics. 1 // FIXME: Neither this nor always using the first name is correct; we want 1 // unsupported and ignore the typedef name. TODO: we should 1 // FIXME: Produce a cloned, canonical expression? 1 // FIXME: Remove this, clients should do it. 1 // FIXME: We don't handle constructors or destructors for arrays properly. 2 // FIXME: No way to easily map from TemplateTypeParmTypes to 1 // FIXME: This could be much more aggressive, but we need to investigate 1 // TODO: Verify system value is included in signature and arbitrary is packed before system value 1 // FIXME: May have to do additional look-ahead to only allow for 1 // FIXME: This seems like the wrong definition for redeclaration. 2 // FIXME: If there are no remaining arguments, we can bail out early 1 // FIXME: Actually abort assembly here. 1 /* TODO: pArchive_name is a terrible name here! */ 1 // FIXME: Better diagnostic. 1 // FIXME: Only deserialize inclusion directives. 1 // FIXME: Should we CollectAllContexts and walk them all here? 1 GDesc.BlendState = CD3DX12_BLEND_DESC(D3D12_DEFAULT); // TODO: read from file, set from op 1 // FIXME: This is a stop-gap until a more comprehensive "preprocessing with 1 return /*FIXME:*/Msg->getLeftLoc(); 1 // FIXME: Missing: @protocol, @selector 1 // TODO: expose remaining bits to subclasses. 1 // FIXME: This duplicates a lot of code from Sema::ConvertArgumentsForCall. 1 // TODO: add dxil attributes 1 // TODO: ObjCARCContract could insert PHI nodes when uses aren't 1 // FIXME: Instantiation-specific 2 // FIXME: Verify that Offset is associated with the current section. 1 // FIXME: Eventually this logic should actually do dispatches to 1 // FIXME: We only need to register one __cxa_thread_atexit function for the 1 // FIXME: Not implemented yet. Code that uses AExt to mean 1 // TODO: If the size is known, use it. 3 // TODO : Right now we are just going to bild a new blob with updated root 1 // TODO: assign specific StageVars w.r.t. to entry point 1 // TODO: Consider adding a switch that strips possibly unimportant content, 1 // TODO: This could possibly be more precise with modules. 1 // FIXME: For now we pretend that @catch and the code it contains does not 1 // FIXME: implement. 1 /// that are used outside the loop. FIXME: this should be invoked internally 1 // FIXME: Do something with the .line. 1 // FIXME: Handle other cases where store of vector immediate is done in 1 /// TODO: Add a pointer to the context (DW_TAG_enumeration_type) once that no 1 /// FIXME: It's not clear that this is a good or useful query API. Client's 1 /// FIXME: This is an inelegant way of specifying the features of a 1 // TODO: The limit of 16 inhibits greater vectorization factors. 1 // FIXME: this probably shouldn't use 'round half up'. 1 // FIXME: We need to track extra state to properly record the size 1 // FIXME: Refactor with EmitExprAsInit. 1 // TODO: Turn into a calss. 1 // FIXME: This doesn't match gcc's behavior for dllexport inline functions. 1 // TODO: Check that the reference is in bounds. 1 // TODO: is this optimization always correct? 1 // FIXME: Should eventual replace iterator access. 1 // TODO: complain somehow if Shadow was used. It shouldn't 1 /// FIXME: By default, this routine adds type qualifiers only to types 1 // FIXME: Pass in the location of the macro name, not the 'if' token. 1 // TODO: handle simple updates. If a value is modified and the original 1 // TODO: Look through sext or zext cast, when the result is known to 1 // FIXME: Cleanup. 1 // TODO: This should be rewritten with a worklist 1 // FIXME: add some way to gate this entire thing for correctness in 1 // FIXME: Handle loops with more than one induction variable. Note that, 1 // FIXME: Need target hooks. 1 // FIXME: We don't support ARC being turned on and off during one analysis. 1 // FIXME: Track the location of the ellipsis (and track source location 1 // FIXME: Updating the type to work around this is at best fragile. 1 // FIXME: "Leaked" on failure. 1 // FIXME: produce a better error message. 1 // FIXME: In AVX, the register below becomes the one encoded 4 // FIXME: Cleanup this code, these bits should be emitted based on semantic 1 // FIXME: Instruction operands with defaults values (predicates and cc_out 1 /// FIXME: document 1 // FIXME: Check whether this identifier was referenced anywhere in the 1 // FIXME: It isn't entirely clear whether incomplete atomic types 1 // TODO: this can be generalized into the normal initialization logic: 1 // FIXME: Re-enable coloring with register when it's capable of adding 1 // FIXME: Add support for negative values. 1 // FIXME: use ClStoreCleanOrigin 1 // TODO: this should happen for bitfield stores, too. 1 // FIXME: consider sharing some of this code with the code above. 1 // FIXME: Support a vector of pointers. 1 // FIXME: This is not true on Darwin/PPC. 1 # TODO: Fill in the correct error pattern 1 // Pin LLVM dump methods. TODO: make debug-only. 1 // FIXME: Import default argument. 3 // FIXME: We're generating redundant loads and stores here! 1 // FIXME: code copied and transfromed from 1 // FIXME: Are these flags correct? 1 // TODO: Move this type to its own library. 1 // FIXME: Textual headers are not marked in the HeaderInfo table. Load 1 // FIXME: Do we need to merge the results together here? 1 // FIXME: On windows it is disabled since current implementation depends on 1 // TODO: import cast paths 1 // FIXME: Remove `PARAMATTR_CODE_ENTRY_OLD' in 4.0 1 // FIXME: These are defined in one place, but properties in class extensions 1 // TODO: we could extend SLSR to float and vector types. 1 // FIXME: Heuristics that works around the lack the live range splitting. 1 // FIXME: This is disabled until clang -cc1 supports -fno-builtin-foo. PR4941. 1 //Args.push_back(""); // FIXME: Remove dummy argument. // HLSL Change - parse directly as compilation 1 // FIXME: The redecls() range sometimes has elements of a less-specific 1 // FIXME This is bad but the ownership transfer to caller is pretty messy. 1 // FIXME: This should use the provided FileManager. 1 // FIXME: That's not correct, we may have added this class only because it 1 // FIXME: Not fully implemented yet! We need to have a better understanding 1 // FIXME: If I pass null tag, the graph is incorrect, e.g for 1 // FIXME: Consider an option to allow short exception handling clauses on 1 // FIXME: this isn't the right predicate, should be based on the MCSection 1 // FIXME: handle .. 1 // TODO: Move this logic inside getValueAt so that it can be cached rather 1 // FIXME: Quantities here cast to integers because the plural modifier 1 // FIXME: Decide whether to implement this for non-C++ languages. 1 // FIXME: For now, member pointers are represented by void *. 2 // TODO: Serialize the successor weights. 1 // TODO: check whether we can make this a protected method. 1 // FIXME: remember that we did this for module / chained PCH state? 1 // TODO: This can be removed after we enable history tracking with 1 // FIXME: Only does this for 64-bit or more since we don't have proper 1 // TODO: In the future we plan to improve stack coloring in the following ways: 1 // FIXME: This code is duplicated with MemoryLocation and should be hoisted to 1 /// TODO: Some of these could be merged. Also, a lexical ordering 1 // FIXME: If this disambiguation is too slow, fold the tentative lambda parse 1 #self.add_valrule("Instr.ERR_GUARANTEED_RACE_CONDITION_GSM", "TODO - race condition writing to shared memory detected, consider making this write conditional.") warning on fxc. 1 // FIXME: This type should be passed down from the front end 1 /// The identifier is a template name. FIXME: Add an annotation for that. 1 // TODO: More simplifications are possible here. 1 // FIXME: In posix, you use the access() call to check this. 1 // TODO: enable this after support pass thru hull shader. 1 // TODO: Add type info about the overload error. 1 // FIXME: Actually perform a structural comparison! 1 // TODO: Replace this with an enum, when it is available in SPIRV-Headers. 1 // FIXME: If we error out because an outer lambda can not implicitly 1 // FIXME: Need to handle multiple memory operands to support all targets. 1 // FIXME: Make sure this MachO triple mangling is really necessary. 1 // TODO: verify rest of variable 1 // FIXME: Recover by calling the found function. 1 // FIXME: Add error handling. 2 // FIXME: We should provide the ability to constrain the output of this 1 // FIXME: improve this later by tracking symbolic lower bounds 1 // TODO: get a class name without the template arguments 1 // TODO: Can a null severity really get here? 1 // FIXME: This allows use of the VFS; we do not allow use of the 1 // FIXME: We shouldn't need to do this, the target should be immutable once 1 // FIXME: fail correctly when there are dependent paths. 1 // FIXME: This is a bit conservative/simple - it emits negative values always 1 // FIXME: This is a gross over-approximation. What we really need is a way to 1 /// FIXME: Add other ways to convert... 1 // FIXME: Audit the corners 1 // FIXME: Targets don't know how to fold subreg uses. 1 // FIXME: Add statistics about the number of ambiguous statements encountered 3 // FIXME: Do we need to limit this to copy-constructor-like 1 // FIXME: How to get the corresponding signed version of size_t? 1 // FIXME: The element should be initialized from an initializer list. 1 // FIXME: double memoization is redundant, with memoization both here and in 1 // FIXME: When Sema learns to form this AttributedType, avoid printing the 1 // FIXME: If either is a pre/post inc/dec load, 1 // FIXME: It should be generic to C++11. 1 // TODO: Switch to using a bitmap to track unreachable blocks. 1 // FIXME: Force the precision of the source value down so we don't 1 // TODO: Check for NUW. 1 /// TODO: Split out members (inheritance, fields, methods, etc.). 1 // the user with. FIXME: This limit should depend on details of the 2 // FIXME: SCEV expansion has no way to bail out, so the caller must 1 // TODO: In finite-only mode, this could be just fabs(sqrt(x)). 1 // FIXME: Take this as an argument, once all the APIs we used have moved to 1 // TODO: how to reuse msfPtr when ReigsterOutputStream. 1 // TODO: Print the instruction flags, machine mem operands. 1 // FIXME: The index here is closely tied to how ASTContext::getObjCLayout is 1 // FIXME: Should this be caught and done earlier? 1 /// TODO: Remove this logic once the backend can correctly determine canonical 1 // TODO: Serialize StackProtectorIdx and FunctionContextIdx 1 // FIXME: We currently ignore SCEV changes from/to CouldNotCompute. This 1 // TODO: review this - this will allocate at least once per string 1 // need to be explicitly initialized. FIXME: Anonymous structs that contain no 1 // FIXME: Check that we can declare a specialization here. 1 // FIXME: add a note about the attribute location in MutexExp or D 1 // TODO: use different comparison for floating point inputs 1 // TODO: Delete release+retain pairs (rare). 1 // FIXME: open files cannot be deleted. 1 // FIXME: Sink this localrecover into the blocks where it is used. 1 // FIXME: This doesn't handle an overloaded ->* operator. 1 // FIXME: Cache the number on the Attr object? 1 // FIXME: For any builtin other than a load, the ValType must not be 1 // FIXME: This appears to be a g++ bug: more complex cases reveal that it 1 // FIXME: Skip reading this record if our ASTConsumer doesn't care 1 // FIXME: GCC may be enabling these in cases where some other k6 1 // FIXME: remove this on LLVM 4.0. 1 FIXME: While this approximation is equivalent to what GCC uses for 1 // FIXME: In the future, we could provide "overload" results, much like we 1 // TODO: currently we always rebuild expressions. When we 1 // FIXME: This is a huge hack; we reuse the input preprocessor because we want 1 // FIXME: This is temporary; eventually, CIndex will always do this. 1 // FIXME: Leaking incoming expressions! 3 // FIXME: emitPredicateMatch() functions can take a buffer directly rather 1 // FIXME: Most of this is copy-and-paste from SmallVector.h. We can 1 // FIXME: It would be better to produce the diagnostic for casting 1 // FIXME: Make use of PredDefs? e.g. ADDC, SUBC sets predicates but are 1 // FIXME: asprintf and vasprintf aren't C99 functions. Should they be 1 // TODO: OK, this return value is incorrect for compound assignments, for 3 // FIXME: Should we only exclude it from umbrella modules within the 1 // FIXME: There's room for this in the padding before the template args in 1 // FIXME: What happens if we're importing a function without a prototype 1 // FIXME: consider doing manual inline for small constant sizes and proper 1 // call". FIXME: with sufficiently cunning bit-tracking, we could look through 1 // FIXME: should this be a test for macosx-fragile specifically? 1 // FIXME: This is not what we want... 1 /// TODO: Detach from CompositeType, and fold the array of types in directly 1 // FIXME These don't have an instruction index. Not clear we have enough 1 // FIXME: Doesn't account for ObjCInterfaceDecl! 1 // FIXME: Exclude this for platforms with libgomp that don't require 1 // TODO see if there is a more elegant solution to selecting the rewrite 1 InstantiateVariableDefinition(/*FIXME:*/ Inst.second, Var, true, 1 // FIXME: We should be able to handle these cases in TableGen. 1 // TODO: Verify system value is not included in signature, 1 // FIXME: disable this unless the input to the binop is a shift by a constant. 1 // FIXME: Add ec.message() to this diag. 1 // actual method. FIXME: we should infer retention by selector in 1 // FIXME: The long term goal is for the MCOperand list to not contain 1 // TODO: how can we delay here if D is captured by its initializer? 1 // FIXME: This is target-dependent. 1 // TODO: Print offset and target flags. 1 // FIXME: We are managing our modules, so we do not want the base class 1 // FIXME: If both the original and replacement value are part of the 1 // FIXME: If the module has macros imported then later has declarations 1 // FIXME: It is marginally lame that we just do nothing here if we see an 1 // FIXME: Is there some better way to check for In64BitMode? 1 // TODO: Handle variable definitions, e.g. bool valid = x.isValid(); 1 // XXX TODO: Sort this out, since it's required for new API, but a separate argument for old APIs. 1 // FIXME: set the definition loc for CurrentModule, or call 1 // TODO: Final_* values need mappings 1 // FIXME: operator new takes size_t, for which we need stddef.h, for which 1 // FIXME: These template arguments are temporary. Free them! 1 // FIXME: This is the same problem as described in optimizeSqrt(). 1 // FIXME: We only need to do this if the merged definition declares members 1 // TODO: Lower these as well, along with function parameter types 1 // FIXME: Remove this test case when Replacements is implemented as std::vector 2 // FIXME: This encompasses the logic in HighRegPressure and MayReduceRegPressure 1 // FIXME: Implement for other architectures. 1 // FIXME: Insert UnreachableInst if !ClKeepGoing? 1 // FIXME: We will eventually need to handle non-statement-based events 2 // FIXME: Factor into subclasses. 1 // FIXME: MSDependentExistsStmt 1 // FIXME: remove krait check when GNU tools support krait cpu 1 // TODO: set all of this from m_pShaderOp. 1 // FIXME: Do we need to compute instantiation instantiation-dependence for 1 // FIXME: DependentDecltypeType 1 // FIXME: The semantics of the return result is unclear to me... 1 // FIXME: Support Sparc quad-precision long double? 1 SkipUntil(tok::semi); // FIXME: better skip? 1 // FIXME: It doesn't make sense to me that DiagID is an incoming argument here 1 /* TODO: Our zip64 support still has some 32-bit limits that may not be worth fixing. */ 1 // friend. TODO: for source fidelity, remember the headers. 1 // to be an int value (allowing a pointer type is a TODO item) 1 // TODO: Fields? Can MSVC even mangle them? 1 assert(ResNo == 0 && "FIXME: PatFrag with multiple results?"); 1 // FIXME: Reduce the malloc traffic here. 1 // TODO: This code is quite inefficient 1 // FIXME: Can we turn this into an error? 1 // TODO: check profile. 1 // FIXME -- handle compound assignment operators 1 // FIXME: Support nested archives? 1 // FIXME: We might want to defer PHI speculation until after here. 1 // TODO: Handle offset in bytes 1 // FIXME: Multiply by 2 because we may clone nodes during scheduling. 1 // FIXME: It would be useful to define a default allocation size (or add 1 // Verifies that all TODO comments have some explanation. 1 // FIXME: This could just be RegistersByName[name] = register, except that 1 // FIXME: Make sure floating-point mappings are accurate 1 // This returns an exact expression only. TODO: We really only need an 1 // FIXME: Enums without a fixed underlying type have unknown signedness 1 // FIXME: Combine branch weights. 1 // FIXME: We don't have enough information in the AST to produce the 'Y' 1 /// TODO: In the future, we may need to unify/generalize this with 2 // revisit than later on. FIXME: Remove this if indirectbr support into 2 // FIXME: 4 for DWARF32, 8 for DWARF64. 1 // FIXME: 4 and 8 are sufficient at the moment, but it's pretty ugly to 1 // FIXME: The ScheduleDAG currently loses information about which of a 1 // FIXME: This is a big hammer, can we clear the cache more selectively? 1 // FIXME: Will need to cache the results of name lookup (including ADL) in 1 // FIXME: location of the '_Complex' keyword. 1 // FIXME: Calculate. 1 // TODO: Add a generic icmp too? 1 // FIXME: Add profiling support for code hints. 1 // FIXME: It would be nice to propagate this in some way, but the type 1 // FIXME: If our target replaces the old target, can we replace the old 1 // FIXME: what about overloads? Declarations can be used as keys but what 1 // FIXME: We can't currently provide an accurate source location and a 1 // FIXME: When we decide to merge method definitions, we'll need to 1 // FIXME: Can we safely always call this for __GNUC__ everywhere? 1 // FIXME: This seems unlikely to be Linux-specific. 1 // TODO: add resource to HLSLRuntime 1 // FIXME: Generate the precompiled header into memory? 1 // FIXME: Can we provide a note showing where this was declared? 1 // TODO: We're not evaluating allocators for all cases just yet as 1 // FIXME: Should this really be such a loose cast? 1 /// FIXME: This currently only works for functions. Fix. 1 // TODO: Using implicit property decl. 1 // FIXME: Need the equivalent of MachineRegisterInfo for frameindex operands. 1 // TODO: Validation should use a backend target library that specifies 1 // FIXME: Should these even be selected? Handle these cases in the caller? 1 DEF_TRAVERSE_DECL(ObjCCategoryImplDecl, {// FIXME: implement 2 /// FIXME: When GNU tools learn how to parse UTF16 on Windows, we should 1 // FIXME: Find the best cut-off. 1 // FIXME: if the diagnostics are incompatible, save a DiagnosticOptions that 1 // TODO: Print Stack Slots. 1 // FIXME: handle Vector types. 1 // FIXME: Allocate this data after the OverloadExpr subclass. 1 # TODO: add unittests for the verifier functions: 1 // TODO: Always set this when creating the new specialization? 1 // TODO: 'for base' flag 1 // FIXME: This is probably incorrect; consider invalidating an outer 1 // TODO: verify rest of variable 2 // FIXME: Depending on what has happened with block ordering, this may 1 // TODO: diagnose uses of these conventions on the wrong target. 1 // TODO: If the attribute's kind appears in the list of duplicates, that is 1 // FIXME: location of exception specifications (attributes?) 2 // FIXME: Remove string version. 1 // FIXME: Assert that stackFrameDoesNotContainInitializedTemporaries(*Pred)). 1 // FIXME: It'd be better to start at the state from when we most recently 1 // FIXME: This is not guaranteed to be deterministic! Move to a 1 // FIXME: change this to 'raw' interface type, so we can used 'interface' type 1 /// FIXME: Make these strings localizable, since they end up in 1 // FIXME: in C++0x, we can diagnose if we can prove that the 1 // FIXME: In the future I will modifiy the behavior of the metadata 1 /// FIXME: This is wasted space for a union. 1 // FIXME: We are not handling scattered relocations, do we have to? 1 // FIXME: Should we have the extra indent after the second break? 1 // FIXME: This is wrong. We need to take the more recent declaration in 1 // FIXME: If we ended up with a typo for a type name or 1 /// FIXME: This mechanism for adding automatic destructors doesn't handle 1 // FIXME: Could omit 'Key' in name. 1 // FIXME: 'as' enforces that this is defined and global. The manual claims 1 /// TODO: This currently misses non-constant addrec step registers. 1 // FIXME: a ParmVarDecl can have ClassTemplateSpecialization 1 // FIXME: Investigate whether a modified bernstein hash function performs 1 // FIXME: Only bump the generation counter if the current generation number 1 // FIXME: Replace all uses of this function with getStructOrErr. 1 // TODO: NEED To compile time dispatch on whether in_iter is a random access 1 // FIXME: using std::unique_ptr causes a malloc error 1 // TODO: Add a Sema warning that MS ignores alignment for zero 1 // FIXME: Check for decl - it should be void ()(void). 1 // FIXME: Liveness. A 2D BitVector, perhaps? 1 /// FIXME: We will need these to be uniqued, or at least comparable, at some 2 assert(!STyp->isLiteral() && "TODO: implement literal types"); 1 // FIXME: need to stabilize encoding of calling convention... 1 // FIXME: Currently disabled when using Clang, as we don't always have our 1 // TODO : Allocate function manager for this pass, other wise required set 1 // FIXME: This seems like a bogus check; it suppresses -Wunused-function 1 // FIXME: Include a TypeSpecifier object. 1 // FIXME: This is the sort of code that should eventually live in a Core 1 // TODO: This is a duplicate check. We also have this check in 1 // FIXME: Avoid the conversion through memory if possible. 1 // FIXME: Handle anonymous unions declared within anonymous unions. 1 // FIXME: If the memcpy is volatile (isVol), lowering it to a plain libc 1 // TODO: don't do more precise calculations above than are required. 1 // TODO: Revisit this r-value setting when handling vk::ext_result_id ? 1 // FIXME: handle "fence singlethread" more efficiently. 1 // FIXME: No need to make the entire Sema class a friend when it's just 1 // FIXME: Figure out how bits 2 or 8 can get set. 1 // TODO: ConstantExpr handling -- CFLAA may report NoAlias when comparing 1 // FIXME: Copying or moving the parameters could add extra exceptions to the 1 // FIXME: ObjCCompatibleAliasDecl requires aliased-class locations. 1 case clang::attr::HLSLSemantic: // TODO: Consider removing HLSLSemantic attribute 1 /// FIXME: The default needs to be removed once all the code is updated. 1 // FIXME: the example in the standard doesn't use a qualification 1 // TODO: This could be optimized to avoid all the copying. 1 // FIXME: This is a temporary hack. 1 // FIXME: This is a huge HACK. This should be removed when the pass manager's 1 // FIXME: Since we do not cache error nodes in ExprEngine now, this does not 1 // TODO: add distribute directive. 1 // TODO: base this on the target vector size so that if the earlier 1 // FIXME: We don't cache the result of getFileInfo across the call to 1 # TODO: turn STATISTICS macros into ETW events 1 // FIXME: diagnose the following if we care enough: 1 // TODO: refactor for faster search (switch by 1/2/3 first letters, then 3 // FIXME: We shouldn't suppress this warning for static data members. 1 // FIXME: It would be nice to be able to determine whether referencing 1 // FIXME: We should reorganize again getPageSize() on Win32. 1 // FIXME: Infer the maximum possible offset depending on the actual users 1 // FIXME: we should support importing a submodule within a different submodule 1 // TODO: Only 1) is implemented below and it isn't checking for definition in N 1 // FIXME: distinguish between pointer and reference args? 1 // TODO: Need to handle 'this' in some way by probably renaming the 1 // FIXME: This code shouldn't be necessary! We should catch the implicit 1 // FIXME: We shouldn't consider split slices that happen to start in the 1 // FIXME: pass in SDLoc 1 // FIXME -- Loc can be wrong here. 1 // FIXME: Handle sending 'autorelease' to already released object. 1 // FIXME: If an option to allow short exception handling clauses on a single 1 // TODO: Replace uint32_t with enum in the SPIRV-Headers once it is available. 1 // TODO: move these to appropriate places (ShaderModel.cpp?) 1 # FIXME: Record information from the individual test suites? 1 // FIXME: This is a total hack, this should not be here. Once things are 3 // FIXME: While we might want to start emitting on-disk entries for negative 1 // FIXME: 30% is from preliminary tuning on SPEC, it may not be optimal. 1 // TODO: log this out 1 // FIXME: dependent operand expressions? 1 // FIXME: This can be packed into the bitfields in Decl. 5 // FIXME: this should go away once all DNLocs are properly initialized. 1 // TODO: should we tie low precision to HLSL2018 only? 1 // FIXME: allow the caller to pass in the list of vreg uses that remain 1 // FIXME: Sync this with InitializePredefinedMacros; we need to match int8_t 1 // TODO: The non-affine case isn't precisely modeled here. 1 // FIXME: Why don't we do this for inline asms with MRVs? 1 // FIXME: We can do some limited checking for a value-dependent but not 1 # TODO: implement llvm/Support/* headers 1 // FIXME: For some reason GCC passes -lgcc and -lgcc_s before adding 1 // TODO: Check readnone/readonly function attributes. 1 // FIXME: Block pointers, too? 1 // TODO: Only iterate over uses of a given value of the node 1 // TODO: apply range metadata for range check patterns? 1 /// FIXME: This is a static member function because the MSP430/X86 1 // FIXME: Set alignment on indirect arguments. 1 // FIXME: Escape correctly: 1 // FIXME: We can't just take the expression from the old prototype. It 1 // FIXME: Missing call to CheckFunctionCall or equivalent 1 // FIXME: I would like to be convinced that this code is worth being as 1 // TODO: Re-enable spirv-val once issue#3006 is fixed. 5 // FIXME: Bad source location 3 // FIXME: Do we really need both of these? 1 // FIXME: semantic checking! 1 // FIXME: We have no reasonable way of handling errors in here. The 1 // FIXME: this is getting the alignment of the character, not the 1 // FIXME: This emits a different error message than 1 /// TODO: The user of the trunc may be an bitcast to float/double/vector or an 1 // FIXME: If this is an initializer list, suggest removing the braces 1 // FIXME: Windows seems to have an 'SID' that might work. 1 /// TODO: Also check whether the SU must start a new group. 1 // FIXME: implement the rest... 3 // FIXME: FNEG and FABS have a lot in common; refactor. 1 // FIXME: This doesn't diagnose assignment to a symbol which has been 1 // See FIXME in test/SemaCXX/warn-overload-virtual.cpp for an example. 1 // FIXME: Check for specialization vs. instantiation errors. 2 // FIXME: not clear how to mangle this! 1 /// FIXME: Currently we only allow Stmt and Decl nodes to start a traversal. 1 // FIXME: pointer arithmetic? 1 // TODO: this is not efficient. 1 // FIXME: The precise cut-offs wrt. the number of saved lines might need some 1 // FIXME: Check that offsets match computed ones. 1 // TODO: Handle vector constants. 1 // FIXME: We need to check more things here. 1 // instruction at the point insertion. FIXME: This is overly 1 // FIXME: How to get the corresponding unsigned 1 /// FIXME: Implement for other node types. 1 // FIXME: Reuse the LivePhysRegs utility for this. 1 /// appropriate lookup tables. FIXME: Should reconsider if adding synthesized 1 // FIXME: We shouldn't bother with this anymore. 1 // TODO: consider caching this value for perf 3 // FIXME -- this should compare SExprs for equality, not pointer equality. 1 // TODO: To eliminate this problem we can remove gc.result intrinsics 1 // FIXME: Once targets reserve registers instead of removing them from the 1 // FIXME: Include the import location for the conflicting module. 1 // TODO: Would be useful to have an iterator based version 1 // FIXME: There is a very unfortunate problem here, some troubled 1 /// FIXME: Come up with a better algorithm instead. 1 // FIXME: since we're shuffling with undef, can we just use the indices 1 // FIXME: Ideally, initialization of instantiated thread_local static data 1 // FIXME: Detect non-ASCII whitespace characters too. 2 // FIXME: The Clang version string is not particularly granular; 1 // FIXME: Implement C++11 [basic.start.init]p2: if the initializer of a 1 // non-top-level decl. FIXME: Would be nice to have an isTopLevelDeclKind 1 // FIXME: Need a way to enumerate all non-reference cases. 2 // TODO: Look through calls with unique return values. 1 /// FIXME: Delete this. See comments in implementation and at the only call 1 // FIXME: dsymutil-classic only caches the last used CIE for 1 // FIXME: Implement the Not operator to take a single matcher instead of a 1 // FIXME: Calculate the discriminator here, based on local information, 1 print("// TODO: add accessors with values") 1 // FIXME: Visit explicitly-specified template arguments! 1 // TODO: Can handle more cases here. 4 // FIXME: This will not emit in correct argument order with the other 1 // FIXME: Make VBases lazily computed when needed to avoid storing them. 1 // FIXME: Handle whitespace between '_T', '(', '"..."', and ')'. 1 // FIXME: Provide a source location for the _Atomic keyword. 1 // FIXME: no template name location? 2 // TODO: avoid making this TemplateName. 1 // FIXME: is there a simpler a way to do this? Can we just search 1 // FIXME: Eventually remove. This part of a hack to support proper 2 class ASTUnit; // FIXME: Layering violation and egregious hack. 1 // FIXME: When reading literal tokens, reconstruct the literal pointer 1 // FIXME: Make these protected again once RegionStoreManager correctly 1 // FIXME: This attribute needs to actually be handled, but if we ignore 1 // FIXME: Fail more softly if the diagnostic level is unknown? 1 /// FIXME: Unit test this matcher 1 // TODO: a subset of the value is in the location. 1 // FIXME: this seems inherently un-qualifiers-safe. 1 /// FIXME: Collector instances are not useful on their own. These no longer 1 /// TODO: This fails for pointer-type loop counters with greater than one byte 1 // FIXME: Add support for DW_FORM_GNU_strp_alt 1 // TODO: FINISH THIS 1 // FIXME: Change if above assumption does not hold. 1 // FIXME: From here on we assume that both sets have the same small size. 1 // FIXME: Cache this sorted list in Scope structure, and DeclContext, so we 1 // FIXME: We could use the section but add the bit to the relocation value. 1 OS << **I << ", "; // TODO: remove the last ", 1 // FIXME: This logic should probably go higher up, where we can 2 // FIXME: We can reduce the size of this table very easily. First, we change 1 // TODO: Probably we can be less restrictive on this, 1 // FIXME: Allow clients to provide heuristics for improved splitting. 1 // TODO: Add Thumb relocations. 1 // FIXME: This is wrong. We distinguish them by asking if the path is 1 // FIXME: more conditions??? 1 // FIXME: Use correct value for C++17. 1 // FIXME: Use SmallString for accumulating string. 1 // FIXME: The ASTs should make finding the definition easier. 1 // TODO: This could result in rounding error if the initializer is a 1 // FIXME: Rebuild the template parameters in the new context, and 1 // FIXME: needed by operator delete 1 // FIXME: For now ignore 'IncompleteImpl'. 1 // FIXME: Typo correction? 1 /// TODO: add rules... 1 // FIXME: Verify this is right for VLAs. 1 // FIXME: This function and all those that follow carefully use an 1 // FIXME: Lambda init-captures. 1 // FIXME: However, it may actually be selected at the actual overload 1 // FIXME: Operator ',' 1 // FIXME: Find the beginning of the line properly for multibyte characters. 1 // FIXME: Move this loop into the one target that needs it, and only 1 WriteLn("Flags: ", std::hex, std::showbase, Desc.Flags); // TODO: fxc compiler flags 1 // FIXME: Do this lazily, when each macro name is first referenced. 1 // TODO: Verify warning about declaring the system value last for fxc HLSL compatibility. 1 // TODO: If validating libraries, we should remove all unknown function attributes. 1 // TODO: generalize the predicates here to also match their unsigned variants. 1 // FIXME: This has potential of causing problem. If 1 // TODO: make these error 'real' errors rather than on-the-fly things 1 // TODO: Handle triangular loops. 1 // TODO: this could be templated if the various decl types used the 1 // TODO: Implement this when someone needs it. 1 /// FIXME: Move to SelectionDAG? 2 // FIXME: Verify the underlying types are equivalent! 1 // FIXME: Issue a diagnostic if FirstFriend doesn't match when we come to 1 // TODO: support store. 1 // FIXME: We set the section explicitly to avoid a bug in ld64 224.1. Without 1 // TODO: determine correct value 1 // TODO: Allow stores. 2 // FIXME: Bogus source location for the operator 1 // FIXME: Class method lookup. Right now we dont' have a good way 1 // TODO: keep track of the last subsection so that this symbol appears in the 1 // FIXME: Can ID ever be NULL? 1 // FIXME: the location here is not quite right. 1 /// TODO: Add support for pressure without LiveIntervals. 1 // TODO: Look through eliminable cast pairs. 1 // FIXME: Allow this for files explicitly specified with -include-pch too. 1 /// FIXME: Instead of DW_OP_plus taking an argument, this should use DW_OP_const 1 if (!isa(Divisor)) // TODO: handle vectors. 1 // FIXME: This is dumb. Add a proper AST representation for array 1 // TODO: How is this suppoed to check for Input/OutputPatch types if 1 // TODO: Add support for vfscanf & family. 1 PathExts.push_back(".exe"); // FIXME: This must be in %PATHEXT%. 1 // FIXME: Handle non-GNU attributes 1 // FIXME : Check and raise an error if it is a register. 1 // FIXME: Handle Using(Shadow?)Decls here to create 1 // FIXME: If we have no includer, that means we're processing a #include 1 // FIXME: Should translate token kind to a stable encoding. 1 // FIXME: Can we do any checking at this point? I guess we could check the 1 // FIXME: Use a more specific diagnostic type. 1 // FIXME: All blocks should have signatures-as-written, even if the return 1 // TODO: When/if this becomes more than x86 specific then use a TargetInfo 1 // FIXME: For C++, we should also merge methods here. 1 // FIXME: Bogus location information. 1 // FIXME: Suppress printing implicit bases (like "this") 1 // FIXME: Assuming that BugReporter is a GRBugReporter is a layering 1 // FIXME: Pick the smallest legal type that will fit. 1 // FIXME: In C++11, these cases are conditionally-supported, meaning we're 1 // FIXME: Add the trimmed whitespace to Column. 1 /// FIXME: Sink the recursive printing of template instantiations into this 1 // FIXME: Should we allow complex __fp16? Probably not. 1 // FIXME: Errors generated by the delayed typo correction should be 1 break; // TODO: smax, umax. 1 // FIXME: This would be more comprehensively addressed by modifying 1 // FIXME: LLVM and GCC both compute LHSOffset - RHSOffset at runtime, 1 // FIXME: Need to handle atomic aggregate types with implicit init lists. 1 // FIXME: Issue a diagnostic if we parsed an attribute-specifier-seq 1 // FIXME: No verifier support for CGSCC passes! 1 // TODO: fix the different type error for OpStore 1 // FIXME: VectorTypeLoc is unfinished 2 return ArgType(); // FIXME: ssize_t 1 // FIXME: For now keep the previous behavior, AShr. Need to double-check 1 // TODO: parse the other machine operands. 1 // FIXME: This is a horrible hack. 1 // FIXME: TemplateTypeParmType 1 // FIXME: Perhaps this method should just take a 'const MemRegion*' argument 1 // FIXME: Add locking 'primitives' to CFG for @synchronized. 1 // FIXME: the target may want to specify that this is packed. 2 // FIXME: Note that we can't easily compute the lexical context of a 1 // FIXME: This is a really lame way of walking the chains in the loop: we 1 // FIXME: Currently QualifiedTypeLoc does not have a source range 1 // FIXME: Use more separate fragments for nested groups. 1 // TODO: For a select on vectors, it might be useful to do this if it 1 // FIXME: postvisits eventually go in ::Visit() 1 // FIXME: This condition is never false. Should it be an assert? 1 unsigned EltSize = EltVT.getSizeInBits() / 8; // FIXME: should be ABI size. 1 // FIXME: Generalize to multiple possible types and multiple possible 1 // TODO: support boolean matrix stage I/O variable if needed. 1 // FIXME: Serialize this. 2 // FIXME: Hardcoding priority here is gross. 1 // TODO: apply nonnull return attributes to calls and invokes 1 // FIXME: Only has a side-effect if the variable is volatile or if 1 // FIXME: potentially-potentially evaluated expression above? 1 // FIXME: Move this to a private config.h as it's not usable in public headers. 1 // FIXME: Rename BlockScope -> ClosureScope if we decide to continue using 1 /// TODO: should vectors maybe be split out into their own thing? 1 "FIXME: We only handle trivial array types so far!"); 2 // FIXME: This should all be refactored into a chain of "summary lookup" 1 // FIXME: can this move into MachineLateOptimization? 1 // TODO: Update this for new builtin types min16float, min16int, min16uint. 1 // TODO: annotate high-level operations where possible as well 1 // FIXME: This store needs to be placed in a new init function for 1 // FIXME: Indicate which modules had instantiations of this definition. 1 // FIXME: Try to avoid packing the array 2 // TODO: Preserve branch weight metadata, similarly to how 2 // TODO: add a pass insertion point here 1 // FIXME: STATICS! 1 /// FIXME: always ignore tied opers 1 // FIXME: Move all post/pre visits to ::Visit(). 1 // FIXME: Why do we use an implicit conversion here rather than trying 1 // FIXME: i128 and f128 doesn't get fully support in Clang and llvm. 1 // FIXME: What about dependent types? 1 // FIXME: Can we enable Complain here? 1 // TODO: We could use SimplifyInstruction here to fold PHINodes and 1 // FIXME: Driver shouldn't take extra initial argument. 1 // FIXME: Without the comment, this breaks after "(". 1 // FIXME: Exploit unreachable default more aggressively. 1 // FIXME: This whole routine is a hack to work around the lack of proper 1 // FIXME: Why are TypeSpec and TypeSpecWithTemplate distinct in the 1 // TODO: Adjust the parser and AttributesList class to support lists of 1 // FIXME: We probably need to make this out-of-line to avoid redundant 1 // FIXME: Handle floats. 1 // FIXME: take a TemplateArgumentLoc* (or TemplateArgumentListInfo) instead. 2 // FIXME: New EH - Add the clauses in reverse order. This isn't 100% correct, 1 // FIXME: Per core issue 1407, we should not allow this, but that breaks 1 // FIXME: Define in terms of createReplaceableForwardDecl() by calling 1 // FIXME: Set priority, availability appropriately. 1 // FIXME: Diagnose redundant specifiers. 1 // FIXME: Errors generated by the delayed typo correction should be 1 // FIXME: maybe don't rebuild if all the template arguments are the same. 2 // TODO: Consider pre-calculating this into a map 1 // FIXME: If we have a suggested module, and we've already visited this file, 1 // FIXME: Can we avoid the need for this fake CBufferType? 1 // FIXME: Remove TargetOptions that affect per-function code generation 1 // FIXME: Handle the operand number lookup for custom match functions. 1 // FIXME: MSVC's docs say all bases must be exportable, but this doesn't 1 // FIXME: per-argument source location 1 // FIXME: This requires -dynamic. 2 // FIXME: Several methods should be pure virtual but aren't to avoid the 1 // FIXME: Add a vector deleting dtor type. It goes in the vtable, so we need 1 // FIXME: Do we need to recurse here? 1 # FIXME: We need to get the prefix information from an explicit project 1 // FIXME: diagnose the presence of template arguments now. 1 // FIXME: Remove this, one day. 2 // TODO: Pass through the existing MemoryBuffer instances instead of 1 // FIXME: This is all pretty gross. It means that we can be more aggressive 1 // TODO: We could walk the complex types here and see if everything is 1 /*FIXME:EqualLoc*/UninstExpr->getLocStart()); 1 // FIXME: 'single' is only supported on ARM so far. 1 // FIXME: Destroy the template argument list? 1 // FIXME: We just return here, which interacts correctly with SelectRoot 1 // TODO: Determine a maximum size that a POD type can be before a diagnostic 1 # FIXME: Allow overriding builtins here 1 // FIXME: Is there any other context where a local variable can be 1 // FIXME: Recover from this by treating the declaration as a redeclaration 1 // FIXME: The indentation here is not ideal. 1 // TODO: the following is duplicating the logic in doCXXMemberCallExpr. 1 // TODO: Should add consistency tracking to ensure we encounter 1 // FIXME: We should really do something about that. 1 // FIXME: it would be nice to include the subtarget feature here. 1 // TODO: more fxc option check. 1 // TODO: set precise. 2 // FIXME: Use the other dwo range section when we emit it. 1 // FIXME: Revisit the decision to do this; the main reason was to support 1 // instructions. TODO: We can further optimize this scan if we split the 1 // FIXME: AR->getNoWrapFlags() 1 // FIXME: Handle unions. 1 // TODO: Handle intrinsics in the same way as in optimizeUnaryDoubleFP(). 1 // FIXME: Output chained unwind info 1 // TODO: Features gets us the features on the command line including 1 // FIXME: If there is a nested dependent exception specification, we should 1 // FIXME: Move the checking logic to MemDep! 1 // TODO: add AllResourceBound. 1 // TODO: avoid check by name 1 return nullptr; // FIXME: Proper error diagnostic? 1 // FIXME: Account for original alignment. Could fragment the root array. 1 // TODO: add divergent branching and verify that the otherwise uniform values properly diverge 1 // TODO: See comment in PointerMayBeCaptured regarding what could be done 1 // FIXME this really should be context sensitive, where we record 1 // TODO: Find a way to do this safely. 1 // FIXME: Really want an SMLoc here! 1 // FIXME: It may be safe to reclaim PreCall and PostCall nodes as well. 1 // FIXME: for XOR, we prefer to force bits to 1 if they will make a -1. 1 // FIXME: Once we have an expression parser in the UnwrappedLineParser, 1 // FIXME: See ScheduleDAGSDNodes::EmitCopyFromReg. For now, scheduler 1 assert(Parent && "FIXME: handle unnamed decls (lambdas, blocks) with SEH"); 1 // FIXME: Is this the best way to print wchar_t? 1 // FIXME: This still needs better diagnostics. We should only accept 1 // TODO: The next 3 functions have to be simplified. 1 if (!resourceIsResolved) continue; // TODO: This shouldn't actually be happening? 1 // TODO: Reconstruct structs from their elements. 1 // FIXME: Move the truncation aspect of this into Sema, we delayed this till 1 // TODO: handle multidimensional arrays and arrays of arrays 1 // FIXME: DependentTemplateSpecializationType 1 // FIXME: This accepts other cases it shouldn't! 1 // FIXME: C++11 does not specify how to handle raw-string-literals here. 1 // TODO: support other types if needed 1 // FIXME: It would be nice to unify this with the opaque type, so that the 1 // FIXME: Do we need to make sure that we only consider conversion 1 // FIXME: This is bad, we should be wrapping before "function() {". 1 // FIXME: We should have a StringExtras function for mapping C99 escapes. 1 // FIXME: Only check when N is the canonical subprogram for F. 1 // TODO: verify that earlyclobber ops are not used. 1 /* public API - prototypes - TODO: doxygen*/ 1 // FIXME: The handling for custom lowering with multiple results is 1 // TODO: Adjust state of args appropriately. 1 // FIXME: This shouldn't require another copy. 1 // TODO: generate a emit which has the data being emited as its argment. 2 // FIXME: use a dedicated register for it ? 1 /// FIXME: This really should not be in VMCore. 1 // FIXME: Because FileManager::getFile() doesn't guarantee that it will 1 // FIXME: This shouldn't be necessary. These nodes have special properties 1 // TODO: It could actually be subclassed if the subclass is private as well. 1 // FIXME: We need to force the emission/use of a guard variable for 1 // FIXME: cross-block DSE would be fun. :) 1 // FIXME: Some of it is okay for atomic loads; needs refactoring. 1 // FIXME: This duplicates code from the driver that sets the -target-abi 1 // TODO: are there other cases to be handled? 1 // TODO: Process arg names 1 // FIXME: What happens if gnu_inline gets added on after the first 1 // TODO: some fp intrinsics are marked as having the same error handling 1 /// FIXME: Temporarily stores the overloaded operator kind. 1 // FIXME: Refactor this and xor and other similar operations together. 1 // FIXME: we could read the signature out of the import and validate it. 1 // FIXME: remove this APValue copy. 1 // FIXME: why do we link against gcc when we are using compiler-rt? 1 // TODO: make sure how minprec works 1 // FIXME: This has all the same signatures as CheckObjCMessageContext. 1 // FIXME: Find a better way to identify friends 1 // TODO: support mip for texture ST 1 // FIXME: This won't track "self" in messages to super. 1 // FIXME: BI__builtin_clrsbll 1 // TODO: validate unused option for dxc_bach. 1 // FIXME: Should we hook in to system APIs to get a notification when the 1 // TODO: Model this case as 2 shuffles or a 'logical and' plus shuffle? 1 // TODO: get a class name with ftemplate arguments 1 // not yet implemented. Some of these are indicated by TODO comments, but 1 // TODO: support aggreagate type and out parameters. 1 /// TODO: Probaly it's worth to hoist the code for estimating the 1 // FIXME: This loses syntactic information. 1 // FIXME: We shouldn't be changing "nobuiltin" or TLI unavailable calls here. 1 // FIXME: What is the right way to say this doesn't fit? We should give 1 /*FIXME:*/E->getInitializer()->getLocEnd(), 1 // FIXME: Study to see if/when this happens. One case is forwarding a memset 1 // TODO: Clean up the state. 1 // TODO: Add Better Profitibility checks. 1 // FIXME: Remove with the 4.0 release. 1 // FIXME: If the input is something that is easily negated (e.g. a 1 for (auto &Element : Block) { // TODO: reverse iterate? 1 // FIXME does the case above also need this? 1 // TODO Do I need to check the result? Hopefully not 1 // FIXME: Suppress this warning if the conversion function ends up being a 1 DXGI_FORMAT RTVFormats[8]; // TODO: parse from file 1 // FIXME: In LLVM style, there should be a space in front of a '<' for ObjC 1 // FIXME: Diagnostics. Note the location of the definition as a label. 2 // FIXME: Horrible, horrible hack! We can't currently represent this 1 // FIXME: Can we tell apart casting vs. converting? 1 // FIXME: Can/should this be done in the UnwrappedLineParser? 1 // FIXME: This generated code sucks. 1 // FIXME: This is pretty gross. 'Select' should be changed to not return 1 // FIXME: Pull the *Verifier tests into their own test file. 1 // FIXME: If we have an operator T* and an operator void*, we must pick 1 // TODO: Highlight the underlying type of the redeclaration. 1 // TODO: Arguably, just doing a linear search would be faster for small N 1 // TODO: Handle this, or prevent this for tbuffer 1 // FIXME: Should still merge them if they are unnamed_addr and produce an 1 // FIXME: Possible draft standard bug: attribute-specifier should be allowed? 1 // FIXME: Allow folding when register classes are memory compatible. 1 // FIXME: AR->getNoWrapFlags(SCEV::FlagNW) 1 llvm_unreachable("FIXME: Objective-C types are unsupported!"); 1 // FIXME: On linux, GetMainExecutable is independent of the value of the 1 // FIXME: As usual, we could be more specific in our error messages, but 1 // FIXME: If there's a more recent default argument that *is* visible, 1 // FIXME: Maybe this should be an assertion. Are there cases 1 // FIXME it is not obvious how this should work for alignment. For now, say 1 // FIXME: We also need to take ElementRegions with symbolic indexes into 1 // FIXME: In all of these cases, we need to show the template arguments 1 // TODO: The IntervalPartition class should take a bool parameter that tells 1 // FIXME: If the materialized register here has no uses yet then this 1 // TODO: we currently also suppress this check in dependent 1 // TODO: replace this with FlagIsLocal enum. 1 // TODO: Implement pipeline state validation with runtime data 1 // TODO: If the input elements are power-two vectors, we could convert this to 1 // FIXME: It is somewhat wasteful to build 1 // FIXME: This needs to detect holes left by designated initializers too. 1 // FIXME: it's better to always call clearHandlerBlocks in DTOR and have a 1 // FIXME: older versions of ld64 expect the "arm64" component in the actual 1 // FIXME: Technically these constants should of type 'int', yes? 1 # FIXME: lldb should provide something like getBaseType 1 // TODO: Triangular loops are not handled for now. 1 // FIXME: Remove this from the interface 1 } else // TODO: Remove with llvm 4.0 2 // FIXME: This is an approximation of Sema::UsualArithmeticConversions. 1 // TODO: replace this with FlagIsDefinition enum. 1 // FIXME: Can we track this? Is it necessary? 1 // FIXME: Mac OS X specific? 1 /// FIXME: Do we need all these temp symbols? 1 if (VTOperand.TypeVec.empty()) { // FIXME: Really want an SMLoc here! 2 // FIXME: Check the other conditions here: array of character type, 1 // TODO: move FixShaderModelMismatch to separate file. 1 return hr; // TODO: this leaks prior tables. 2 // TODO: support skipping from the middle of a parsed collection ;/ 1 // FIXME: Dump locations. 1 // FIXME: Accept these components in any order, and produce fixits to 1 // TODO: if the implementation does not implement _Complex or _Imaginary, 1 // FIXME: Should we also do this for PCH files? They could also 1 // TODO: Inherit lifetimes start/end locations from AI if available. 1 // FIXME: This is a hack, and doesn't do anything really intelligent yet. 1 // FIXME: Evaluating initializers for large array and record types can cause 1 // TODO: Verify more things. 1 // TODO: It might be worth dropping this from the tests eventually 1 // FIXME: Share logic with ExtVectorElementExpr::containsDuplicateElements, 1 // FIXME: Allow AssemblerVariantName to be a comma separated list. 1 // TODO: Replace this with an error when we can parse CIMM Machine Operands. 1 // FIXME: Need to inform the ASTConsumer that we instantiated the 1 // FIXME: This sucks, it should apply all implicit defs. 1 // TODO: Unify across class, function and variable templates? 1 // FIXME: Use atomic operations here so that there is no data race. 1 // TODO: Adjust states of args to constructors in the same way that arguments to 1 // FIXME: This seems completely wrong. 1 // FIXME: '%' and '*' doesn't make sense. Issue a warning. 1 // TODO: should we check HL parameter type for UDT overload instead of 1 // FIXME: this poorly matches the generated SubtargetFeatureKV table. There 1 // FIXME: Why don't we just put this list in the defs file, eh. 1 // FIXME: Allow unaligned atomic load/store on x86. (It is not 1 // FIXME: Should '.\\' be accepted on Win32? 1 // FIXME: This is not correct. char + short will result in a promotion 1 // FIXME: One day we might want to implement adjustment of leading whitespace 1 // FIXME: Add proper support for DW_FORM_ref_sig8 and DW_FORM_GNU_ref_alt. 1 // FIXME: We should do something similar for explicit instantiations so they 1 // enough that preserves all bits. TODO: check here for "known" sign bits. 1 // FIXME: Support nested archives? 1 //FIXME: &f; is overloaded and resolvable 1 // FIXME: Make sure we can also emit shared objects if they're requested 1 // FIXME: What happens if these are changed by a module import? 2 // FIXME: Do we support attributes on the @implementation? If so we should 1 // TODO: D3D_SIT_UAV_CONSUME_STRUCTURED, D3D_SIT_UAV_APPEND_STRUCTURED? 1 // FIXME: diagnose the other way around? 1 // FIXME: This is completely, utterly, wrong; see ItaniumMangle 1 // TODO: See if this can be generalized to angle brackets for templates 1 // FIXME: this is pretty unsatisfactory, but there isn't an obvious 2 // TODO: implement CFG comparisons 5 // TODO: Check for an unusual size (MSB set?) 1 // TODO: If we tracked more than one register here, we could potentially 1 // FIXME: Sometimes tryInstructionTransform() will add instructions and 1 // FIXME: Can we use a smart pointer for Toks? 1 // FIXME: Add a flag for modules. 1 // FIXME: GCCAsmStmt 1 // FIXME: This function needs to go away for a number of reasons: 1 // see FIXME there. 1 // FIXME: Handle array fields of structs. 1 // FIXME: Other bits to merge? 2 // FIXME: Store 'Unexpanded' on the lambda so we don't need to recompute it 1 // FIXME: Implement for other types. 1 // TODO: Add a method for adding OpMemberName instructions for struct members 1 // TODO: revisit data layout descriptions for the following: 1 // TODO: Can this be for-each'd? 1 // FIXME: Do something with NoExceptC. 1 // FIXME: Actually, the dtor thunk should be emitted for vector deleting 1 // TODO: Lots more we could do here: 1 // FIXME: Cost arbitrarily set to 1 because there doesn't seem to be a 1 // FIXME: This routine is being called mid-way through the loop pass manager 1 /// of TODO list for the model with diminishing returns, to be completed as 1 /// FIXME: should this be split into Win32 and Win64 variants? 1 // FIXME: PerformContextualImplicitConversion should return ExprError 1 // FIXME: put this somewhere else? 1 // FIXME: MemberPointer chunks don't carry the location of the *. 1 // TODO name the uops more appropriately 1 // TODO: emit code for untied tasks. 1 // FIXME: We also need to tell Sema that we're in a 1 // TODO: Ok? 1 // Add trailing DbgValue's before the terminator. FIXME: May want to add 1 // proper recovery can happen. FIXME: Perhaps filter the corrected expr to 1 // FIXME: Classify these cases better. 1 // TODO: The number of read advance entries in a class can be significant 1 // FIXME: Use CallEvent to abstract this over all calls. 1 // FIXME: Introduce SubstObjCTypeParamType ? 1 // TODO: We can also account for cases when we will be able to remove some 1 /// TODO: Split out DW_TAG_unspecified_type. 1 // FIXME: We should instead consider the pointer to have escaped if this 1 // FIXME: argv and envp handling. 1 // FIXME: why is this flag set on the metaclass? 1 // FIXME: metadata (if Complain is set) 1 // FIXME: Come up with a more type-safe way to model context-sensitivity. 1 WScript.Echo("No badly formatted TODO comments found in " + files.length + " files."); 1 // TODO: For now, just look for an earlier available version of this value 1 Kind = CK_IntegralToPointer; // FIXME: null 2 // TODO: we could try to find factors in all sorts of things, but for now we 1 // FIXME: GCC does not appear to mangle the template arguments when 1 // FIXME: Encode the qualifier, don't just print it. 1 // FIXME: Teach -fsanitize=undefined to trap this. 1 // TODO: There are other places where load PRE would be profitable, such as 1 // TODO: hoist operands. 1 DKind == OMPD_parallel_for_simd; // TODO add next directives. 2 // TODO: Evolving this to warn then fail in future language versions. 1 case clang::attr::HLSLMaxTessFactor: //TODO - test 1 return ArgType(); // FIXME: ssize_t 1 // FIXME: We cannot check whether Offset + Length is in the file, as 1 // FIXME: revamp to take TypeLoc's rather than Types. 2 // FIXME: This isn't correct! But tricky to implement because 2 // FIXME: Precompute which substatement of a compound statement we 1 // FIXME: Issue a diagnostic if the list of conversion functions doesn't 1 // FIXME: Provide a known merge target to the second and subsequent such 1 // FIXME: This doesn't handle casts yet, and simply stripping the casts 1 // FIXME: Should make sure no callers ever do this. 10 // FIXME: Modules will have some trouble with this. This is clearly not 1 /// - exception-specifications (TODO: C++0x) 1 // TODO: If the argument can be const folded and evaluated, we could 1 // TODO: Report an error when the same virtual register with the same ID is 1 # FIXME: Running valgrind on sh is overkill. We probably could just 1 // TODO: verify rest of type 2 // TODO: replace this with something less conservative 2 // FIXME: canBreak and mustBreak aren't strictly indentation-related. Find a 1 // FIXME: Remove this check as soon as clang stops doing this; it hides bugs. 1 // FIXME: Actually parse the c-ns-shorthand-tag rule. 1 /// FIXME: Currently only supports JSON compilation databases, which 1 FIXME: the naming convention for the builtins will be adjusted due 1 // FIXME: Currently, this doesn't play nicely with qualification conversions. 1 // FIXME: This assert crashes during bootstrap, but I think it should be 2 // TODO: map to used input + output signature rows? 1 // FIXME: I'm not entirely sure I like using a fake decl just for code 1 // FIXME: This is a hack to deal with RegionStore's inability to distinguish a 2 // FIXME: It should be possible to render a diagnostic to a string without 1 // FIXME: Ideally, we would also be able to look *past* the code-completion 1 #if 0 // FIXME: Temporarily disabled. GVN is cleverly rewriting loads 1 // FIXME: This isn't complete. We basically treat @throw like a return 1 // FIXME: stupid workaround for a codegen bug! 1 llvm_unreachable("FIXME: HLSL types are unsupported!"); 1 // FIXME: This is not correct; when we reach an imported declaration we 1 // FIXME: convert to LazyStmtPtr? 1 // FIXME: Get the original header of a PTH as well. 1 // FIXME: We might be able to short-circuit this if we know in advance that 1 // FIXME: Much of this is copy-paste from ParsePrintfSpecifier. 1 // FIXME: We lose track of the IsFreeIvar bit. 1 // FIXME: Should this be looking through bitcasts? 1 WriteLn("DefaultValue: ", pDefaultValue ? "" : ""); // TODO: Dump DefaultValue 1 // FIXME: It's not clear what, if any, default this should have - perhaps a 1 // FIXME: AR->getNoWrapFlags(SCEV::FlagNW) 2 // FIXME: this comparison should ignore CC and the like. 1 // FIXME: We should check for any kind of undefined or suspicious behavior 1 /// FIXME: In future, we may be able to not inherit from a visitor. 1 // FIXME: We must leave subregisters of live super registers as live, so that 1 // FIXME: make getTypeAlign() aware of VLAs and incomplete array types 1 // FIXME: What's currently in BasicObjCFoundationChecks.cpp should be migrated 1 // FIXME: for compatibility with the classic dsymutil, we emit 1 // FIXME: Deal with AttrList. 1 " .aaaaaaaa];", // FIXME: Indentation seems off. 1 // FIXME: Keep a file ID map instead of creating new IDs for each location. 1 // FIXME: This is hugely overconservative. 1 // FIXME: Also do this when merging redecls. 1 // FIXME: Register a note to be produced if we encounter an error while 1 // FIXME: Flush the diagnostics in order. 1 // FIXME: remove once the bug 11395 is fixed. 1 // FIXME: Find a spare bit on IdentifierInfo and store a 1 // TODO: code completion for a built-in function 1 // FIXME: Suggest where the close brace should have gone by looking 1 // TODO: consider 1 SS.Extend(SemaRef.Context, /*FIXME:*/SourceLocation(), TL, 1 // TODO: RWStructuredBuffer is supported on SM4 on compute shaders 1 // FIXME: This should use a new expr for a direct reference, don't 1 // TODO: move TentativeParsingAction here. 1 // TODO: determine how to handle individual component conversions: 1 // FIXME: Do not hardcode. 1 // FIXME: diagnostic type. 1 // FIXME: does this store a pointer to DRE? 1 // TODO: fix more issues. 1 // FIXME: TargetAsmInfo::getCalleeSavedRegs() commits a serious layering 1 // FIXME: Arch specific. 3 // FIXME: It's uncertain whether or not we should handle this at the moment. 1 // FIXME: Warn about popping named records as MSVC does. 1 // FIXME: this check should be moved to the beginning of the function when 1 // FIXME: Check that expression type is complete/non-abstract; statement 1 // FIXME: If we already have a partial specialization set, 1 // TODO: Process multiple value ret instructions also. 1 // FIXME: Eliminate these ...Target functions and derive separate tool chains 1 #if 0 // TODO: Re-enable once PR13021 is fixed. 1 // FIXME: This should not happen; deserializing declarations should 1 _CXString), # TODO go through _CXString.from_result? 1 // FIXME: SuggestedModule. 1 // FIXME: extended qualifiers? 1 // FIXME: This is not necessarily correct for a temporary materialized 1 // FIXME: Should we also include a signature here? 1 /* FIXME: This can be an either or for RTM/HLE. Deal with this when HLE is 1 // FIXME: Need a better predicate for this: what about custom entries? 1 // FIXME: Avoid strlen. 4 /// FIXME: This falls down when values are defined in one handler and live into 1 // FIXME: prints as a number, which isn't ideal. But the meaning will be 1 /// TODO: It would be better to give CALLSEQ_END an explicit operand to point 1 // TODO: We could hand off more cases to instsimplify here. 1 // FIXME: We're currently limited to binops with a constant RHS. This should 1 // FIXME: we should use input files rather than storing names. 1 // TODO: SignaturesWithConstantForms should be empty here. 1 /// FIXME: Returns 0 for member pointer call exprs. 1 // FIXME: GCC has a -fcheck-new option, which forces it to consider the case 1 // FIXME: Can code optimization lead to re-used handlers? 1 // FIXME: This is a bit of a hack. Do better. 1 // FIXME: This should use mod/ref information to see if we can hoist or 1 // FIXME: shouldn't this be guarded by some variable? 1 MZ_WRITE_LE16(hdr + MZ_ZIP64_ECDH_VERSION_MADE_BY_OFS, 0x031E); /* TODO: always Unix */ 1 // FIXME: There is a bit of code duplication with addPassesToEmitFile. 1 // FIXME: On a 64 bit architecture this prevents us from using the 1 # FIXME: Make this configurable. 1 // FIXME: this isn't right for bitfields. 1 // TODO: If we have: "br (X > 0)" and we have a predecessor where we know 1 // FIXME: Propagate "has unexpanded parameter pack" bit. 1 // FIXME: Should extension allow i-c-e extension expressions in its scope? 1 // FIXME: Fix callers and remove condition on N. 4 // TODO: add tests for CullPrimitive 1 // FIXME: If this shows up on profiles, it could be folded (at the cost of 1 // TODO: implement all other actions. 1 /// pointers to interfaces. FIXME: Once we've determined the 1 // FIXME: This is a bit ugly; is it really the best way to handle this 1 // FIXME: ObjCClassRef/ObjCProtocolRef for forward class/protocol 1 // FIXME: this might not be transitive. 1 // FIXME: Use a better mechanism to determine this. 1 JT->Default = Fallthrough; // FIXME: Move Default to JumpTableHeader. 1 // FIXME: We should eliminate the need to have ObjCImplementationDecl passed 1 // FIXME: It's not clear that a single instruction is an accurate model for 1 // TODO: Serialize unnamed BB references. 1 // TODO: handle the negative case as well. 1 // FIXME: Compare kind of reference binding if conversion functions 1 // TODO: how to get col? 2 // FIXME: This could be fixed by ensuring the bytes are fetched and 1 } else { // FIXME -- should be AK_Written 1 // FIXME: We should not have to check for a null decl context here. 2 // FIXME: what about read_write? 1 // FIXME: Implement our formatter to here or Support/Format.h! 1 // FIXME: If there's no umbrella header, we could probably scan the 1 // FIXME: We use a ridiculous stack size here because the data-recursion 1 // FIXME: This is wrong for TUKind == TU_Prefix. In that case, we need to 1 // TODO: add tbuffers into m_CBs 1 // FIXME: Stop lying and consume only the appropriate driver flags 1 // TODO: make these names consistent with code convention 1 // FIXME: It would be good to recover by accepting the attributes, 1 // FIXME: GCC allows this, but uses the TLS keyword on the first 1 // FIXME: should we error if lbase->getRegParmAttr() != 0 && 1 " A(X x)\n" // FIXME: function-level try blocks are broken. 1 // FIXME: This will break if the typedef requires qualification. But 1 // FIXME: The rest of this just checks that the argument is non-null. 1 // FIXME: We should probably indicate the identifier in question to avoid 1 // FIXME: Add support for VLA type arguments and VLA expressions. 1 # FIXME: Hashing for SBTypes does not seem to work correctly, uses the typename instead, 1 // FIXME: Find out whether this parameter is consumed or not. 1 // FIXME: Should one day replace iterator interface. 1 // TODO: Add a better heuristic to select the loop to be interchanged based 1 /// FIXME: Heed the advice above. 1 // TODO: Other cases may be added for other APValue::ValueKind. 1 // FIXME: Split out option groups. 1 // FIXME: Should we map RequestingModule to its top-level module here 1 class AttributeList { // TODO: This should really be called ParsedAttribute 1 // FIXME: We probably shouldn't complain about these headers for 1 // FIXME: This happens during template instantiation, should we 1 // FIXME: CapturedStmt 1 // TODO: Target hook to pick which address space the intrinsic cares 1 // TODO: We should use these routines and value representations to implement 1 // FIXME: We may be filling in a forward declaration here. Handle 1 // FIXME: attributes and CC 1 // FIXME: This is invalid, and accepting it causes overload resolution 1 // TODO: Flesh out section header support. 1 // FIXME: Due to the performance of the probability and weight routines in 1 // FIXME: A MCFillFragment would be more memory efficient but MCExpr has 1 // TODO : There is an identical code in DxaContext in Dxa.cpp. Refactor this function. 1 // TODO: If offsetVal is a constant we could just create constants instead of add instructions 1 // TODO: save resource map for each createHandle/createHandleForLib. 1 // TODO: difference between ExtVector and HlslVector 1 // FIXME: Can this ever happen? 1 // FIXME: diagnostic 1 // FIXME: Should move the logic from DeclSpec::Finish to here for validity 1 // FIXME: Remove this when output is deterministic. 1 Record.push_back(E->getOpcode()); // FIXME: stable encoding 2 // TODO: the following check is essentially duplicated from 1 // FIXME: It would be far better to avoid inserting those -static arguments, 1 // FIXME: This isn't very clean... it would be nice to make this more 1 // FIXME: should this really be mangled the same as nullptr? 1 // FIXME: It would be better if CXXBasePath had the base specifier for 1 // FIXME: Already diagnosed! 1 // FIXME: This doesn't catch the case where we're really invalidating a 1 // FIXME: Provide a fixit to remove the base specifier. This requires 1 // FIXME: This should be a real map and not a vector. 1 // FIXME: This doesn't work when caching code-completion results. 1 // FIXME: We still need to take this change in account to properly 1 // FIXME: We should have a different class of conversions for the 1 } // TODO: handle other formats 1 // TODO: This could be improved if the operand is a [cast of a] BlockAddress. 2 // FIXME: For absolute pointer addresses, we just return that value back as 1 // FIXME: Ordering here? 1 /// FIXME: Provide a variant which doesn't track offsets and is cheaper. 1 // A duplicate relocate call. TODO: coalesce duplicates. 1 bool ParseDepLibs(); // FIXME: Remove in 4.0. 1 // FIXME: This is really heavy handed. It would be a bit better to use an 1 // TODO: We can do better for PHI nodes. In cases like this: 1 // FIXME: This algorithm is a absolute mess because every TypeLoc returned 1 // TODO: add alloca 1 // FIXME: Remove when we migrate over to just using SValBuilder. 1 // FIXME: We could clean all this up if we had a way to reliably demangle 1 // FIXME: this may erroneously consume a function-body as the braced 1 /// TODO: Use \c DW_TAG_variable instead of fake tags. 1 // FIXME: BE8 vs. BE32? 1 // FIXME: magic ABI constants. 3 // TODO: We need to improve this heuristic. 1 // FIXME: This is silly, we shouldn't end up with a mapping -> 0 in the 1 // FIXME: We may want to handle this case. 1 // FIXME: This is a hack. We should be able to solve this circularity and 1 // TODO: support operator[][](indexType, uint). 1 // TODO: Expand these to apply to non-keywords or possibly remove them. 1 // FIXME: We could do much better if we could guarantee that the 1 // FIXME: at the time this code was written, malloc() regions were 1 // FIXME: This is doing a one past end read, and should be removed! For memory 1 // FIXME: For some reason GCC passes -lgcc before adding 1 // FIXME: If we wrote the virtual paths instead of the 'real' paths, 1 /// FIXME: This routine should be used very, very rarely, in cases where we 1 /// TODO: When ScalarEvolution gets a SCEVSDivExpr, this can be made 1 // FIXME: We currently leave whole-alloca splittable loads and stores. This 1 // TODO: Cache the results. 1 DxcOutputObject::StringOutput(DXC_OUT_HLSL, CP_UTF8, // TODO: Support DefaultTextCodePage 1 // FIXME: Find a real GCC, don't hard-code versions here 1 // FIXME: Tag decls should be chained to any simultaneous vardecls, e.g.: 2 // FIXME: This is small hack. Given 1 // FIXME: ComplexTypeLoc is unfinished 2 // FIXME: Is it worth having two tables, especially when this one can get 1 // TODO: If the call is indirect, we might be able to enumerate all potential 1 // FIXME: Is it really okay if MakeCollectable isn't a suffix? 1 // FIXME We create a new bitcast for every annotation because that's what 1 // FIXME: Retain a pack expansion if RetainExpansion is true. 1 // FIXME: GCC does not appear to mangle the template arguments when 1 // FIXME: Add support for SymExprs. 1 // FIXME: We don't support class-specifiers nor enum-specifiers here. 1 #self.add_valrule("Uni.GradientFlow", "TODO - No divergent gradient operations inside flow control") # a bit more specific than the prior rule 1 // FIXME: Add a method on \a DILocation that does this work. 1 /// FIXME: Eventually, we may bundle physreg copies rather than rescheduling 1 // FIXME: If not in C++, shall we translate to the C equivalent of 1 // FIXME: Clean this up by using an LValue for ReturnTemp, 1 // FIXME: Eventually we should handle arbitrary locations. We can do this 1 // FIXME: Embed in fragments instead? 1 // FIXME: Would it make sense to try to "forget" the previous 1 // FIXME: ObjC++0x might have different rules 1 // FIXME: Make sure that the "to" context supports C++0x! 1 // FIXME: Adjust alias templates? 1 // FIXME: Needs a better variable than DefaultTargetTriple 1 // FIXME: This should include support for sinking instructions within the 2 /// FIXME: remove this once MachineScheduler is the only client. 1 // FIXME: When Sema learns to form this AttributedType, avoid printing the 1 /// TODO: We could use a single addPre/Post(ID) hook to allow pass injection 1 // FIXME: Add a fix-it to remove the 'constexpr' and add a 'const' if one is 1 // FIXME: What if we have no nested-name-specifier? 1 /*FIXME: FirstQualifier*/ nullptr, 1 // FIXME: Once this is working, then enable flag will change to a target 1 // FIXME: Consider using 2 x vector types if the back end handles them 1 // FIXME: This diagnostic should point the '[*]' if source-location 1 // FIXME: Need to handle arbitrary downcasts. 1 // TODO: This could probably be generalized to handle other overflow-safe 1 // FIXME: Check explicit specializations more carefully. 1 // FIXME: Make diagnostic pragma sections work properly with modules. 1 // FIXME: Find better heuristics 1 // FIXME: We want submodule granularity here. 1 /// FIXME: This is a hack. 1 // FIXME: Maybe this could be a stack of maps that is pushed/popped as we 1 // FIXME: Move the implicit operand verification to the machine verifier. 1 // FIXME: Is this really right? 1 /// TODO: Canonicalize paths on creation. 1 DEF_TRAVERSE_DECL(ObjCImplementationDecl, {// FIXME: implement 2 // TODO: provide a hook for this in GCStrategy. This is clearly legal for 1 // TODO: If important, we could handle the case when the BitsToClear 1 // FIXME: Handle instructions in the dispatch block. Currently we drop them, 1 // TODO: If ProcModel has a base model (previous generation processor), 2 // FIXME: It'd be nice to do something a bit more targeted here. 1 // FIXME: We should automatically clobber $1 only for inline assembly code 1 // FIXME: Output exception handler data 1 // FIXME: This should be replaced with something that doesn't rely on 1 // FIXME: This function should take the stream to write any debugging / 1 /// FIXME: Currently this accepts both lots of analyses that it uses and a raw 1 /* TODO */ 1 // TODO: We only handle LCSSA PHI's corresponding to reduction for now. 1 // FIXME: Remove DEPLIB in 4.0. 1 case Instruction::Fence: // FIXME: refine definition of mayReadFromMemory 1 // FIXME: This function assumes "this" is the first non-sret LLVM argument of 1 // FIXME: Re-enable assert once PR20057 is resolved. 1 // FIXME: Remove in 4.0. 4 // FIXME: We'd like to just use the qualifier in the TemplateName, 1 // FIXME: Use canCopyArgument() when it is fixed to handle lazily declared 1 // FIXME: These are rare but not impossible. We should output some kind of 1 EXPECT_EQ(Full.shl(Some), Full); // TODO: [0, (-1 << 0xa) + 1) 1 "FIXME: Add support for CheckType of resno != 0"); 1 // FIXME: These calls are currently unsupported. 1 // TODO: This assumes we've done basic processing on all uses and 1 // FIXME: Handle select and phi nodes. 2 // FIXME: Eventually all pre- and post-checks should live in VisitStmt. 1 // FIXME: Also check the value is odr-equivalent. 1 // FIXME: Exception specification. 1 // FIXME: Once we have proper support for CXXConstructExprs inside 1 // FIXME: Eventually this shouldn't be needed, as the lexical context 1 // FIXME: This is a hack; extern variables declared locally should have 1 // FIXME: Do we need to support these? 1 // FIXME We cannot encode the revision information into 32-bits 1 (/*FIXME !Lang.ObjC1 && */Lang.CPlusPlus && it->first == CXXSystem) || 1 // TODO: ComputeSignBits is expensive. Consider caching the results. 1 /// FIXME: For classes annotated with one of the guarded annotations, we need 1 // FIXME: Don't bother expanding UCNs if !tok.hasUCN(). 1 // FIXME: We might want to show both diagnostics to the user in 1 // FIXME: Do this earlier rather than hacking it in here! 1 // FIXME: This could be extended to support arrays as well. 1 // FIXME: Avoid the extend by constructing the right constant pool? 1 /* FIXME: These attributes are currently not included in the C API as 1 // FIXME: Try to remove some of the duplication with HoistThenElseCodeToIf. 1 // FIXME: It would be nicer if the keyword was ignored only for this 1 #include // FIXME: Shouldn't be needed. 2 // C++0x: Don't allow scoped enums. FIXME: Use something better than 1 // return type. TODO: what should we do with declarators like: 1 // FIXME: This file contains structural duplication with other parts of the 1 // FIXME: Check for blocks support in "to" context. 1 // FIXME: We should delay checking of bit-fields until we actually perform the 1 // FIXME: This is bad, we should be wrapping before "() => {". 1 // FIXME: currently this is approximated by checking whether this is not a 1 // FIXME: This isn't quite correct. We need to handle the case where the 1 // TODO: revisit for HLSL proper 1 // TODO: Instructions with multiple defs could have multiple 1 // FIXME: Handle element regions by upper-bounding the parent region's 1 // FIXME: If we are completely confident that we have the right set, we only 1 // FIXME: This should be moved to TargetTuple once it exists 1 // TODO: Unify with InstantiateClassTemplateSpecialization()? 1 return nullptr; // FIXME: other array types not implemented 1 // FIXME: This should default to false once pointer vector support works. 1 // FIXME: Avoid truncation for 64-bit length strings. 1 // FIXME: Print available packages. 1 Record.push_back((unsigned)E->getReceiverKind()); // FIXME: stable encoding 1 // FIXME: Add any other expr types that could be be seen by the delayed typo 1 // FIXME: Add addAttribute to CallSite. 1 // FIXME: Use a more robust uniquing scheme. (This may blow up if the user 1 // FIXME: Add parens around Val if needed. 1 // TODO: technically, a pass is not allowed to get functions from within a 1 // FIXME: This should go into the Lexer, but we need to figure out how 1 // TODO: Check if we can use a sparse matrix here. 1 // FIXME: This turns two single-precision and one double-precision 4 // TODO: If the blocks are not adjacent, move one of them so that they are? 1 // FIXME: We really want to remove the bogus case stmt from the 2 // FIXME: this isn't quite right! If there's a final unelided call 1 #self.add_valrule("Instr.ERR_INFINITE_LOOP", "TODO - ERR_INFINITE_LOOP") fxc will report error if it can prove the loop is infinite. 1 // TODO: Handle cases where W.CaseBB != SwitchBB. 1 // FIXME: We end up faking the "parent" declaration here because we 1 // FIXME: base VectorTypeLoc is unfinished 4 // FIXME: What should happen if someone annotates the move constructor? 1 // TODO: Make this into a covered switch. 1 # TODO: implement gtest headers 1 // FIXME: We should be able to narrow this integer in cases with dead 1 // FIXME: Mangling? 1 return true; // FIXME: clean up expressions? 1 // FIXME: We can move load/store/call/free instructions above the call if the 1 // TODO: (X > 4) ? X : 5 --> (X >= 5) ? X : 5 --> MAX(X, 5) 1 // FIXME: No source location information! 1 // FIXME: We may be able to use the NumToSkip values to recover 1 // TODO: should we care about decl qualifiers? 1 // TODO: add accessors with values 1 // FIXME: many of these accesses do not need to be checked for races 1 // TODO: Serialize local frame objects. 1 // e.g. test/FullCoverageSetTest.cpp. FIXME: make it scale. 1 // FIXME: We should move this to a hard error. 1 // FIXME: We use the 'unsafe' accessor for the access specifier here, 1 // FIXME: potentially need @encodes for these! 1 // FIXME: This isn't right if .macro is involved (but hopefully, no 1 // TODO: this does not belong here. QQQ 1 // FIXME: Support module import within __if_exists? 1 // FIXME: Copied from ExprEngineCallAndReturn.cpp. 1 // FIXME: Once we implement scope handling, we want the parent region 1 // TODO: DFCC_ShaderDebugName 1 // FIXME: Remove respondsToCallback from CheckerContext; 1 /// TODO: Create a custom, unrelated node for DW_TAG_array_type. 1 // TODO: having the caret on a function name in definition, highlights calls to it 1 // FIXME: This probably does not return true when both 1 // FIXME: gas seems to support '!' as an infix operator? 1 // FIXME: Store name for literal operator too. 1 // TODO: do m_TGSMVariables and m_StreamOutputs need maintenance? 1 // FIXME: This function assumes there is only one "ret" statement per function. 1 // TODO: Ouch. Very hacky. We need special path to get the value type if 1 // FIXME there is no actual debug info here 1 // FIXME: Implement custom jobs for internal actions. 2 // FIXME: Eventually migrate into its own file, and have it managed by 1 // FIXME: There is still room for improvement, but it would require copying a 1 // FIXME: add a better feature test than hasRawTextSupport. Even better, 1 // FIXME: loses template args. 1 // FIXME: We definitely want to re-use the existing MemoryBuffer, rather 1 // FIXME: this definition of "user defined address space" is x86-specific 3 // FIXME: We cannot handle this case yet; we might be able to figure out that 1 // FIXME: We likely want to do this for more combinations of brackets. 1 /// FIXME: The newly created binary instructions should contain nsw/nuw 1 // FIXME: Do we need to check for default arguments here? 1 // TODO: We can capture the stack backtrace here and store it on the 1 // FIXME: this state can be merged with (1), but the following assert 2 /// TODO: This isn't per-function state, it's per-basic-block state. But 1 // FIXME: These tests started failing on Windows. 1 // TODO: Implement this. For now ignore. 1 // FIXME: This is a workaround until we get real drafting for core 1 // FIXME: We could probably with some care handle both volatile and atomic 4 // FIXME: We should handle the case where we strip off view layers to get 1 // FIXME: Consumed parameters. 1 // FIXME: this is overly conservative. 1 // FIXME: We should find a nicer way to make the labels for metadata, string 1 // FIXME: We should eventually handle funny addressing. e.g.: 1 // FIXME: Per-identifier location info? 1 // FIXME: Once we implement scope handling, we will need to properly lookup 1 // FIXME: Eventually support symbolic offsets. 1 // FIXME: add support for memset and memcpy intrinsics. 1 // TODO: Add support for multiple output streams. 1 // TODO: Should handle multiple applied relocations via either passing in the 1 // FIXME: If we're merging, make sure that the protocol list is the same. 1 // TODO: Emit these as a common symbol. 1 // FIXME: Remove when we migrate over to just using ValueManager. 1 // FIXME: Produce this as the current token directly, rather than 1 // FIXME: We don't really know where to find the 1 // FIXME: The distinction between filenames and inputarg here is 1 // FIXME: Destruction of ObjC lifetime types has side-effects. 1 // FIXME: add NSW/NUW here? -- we dont care if the subtraction overflows 1 // FIXME: Handle LazyCompoundVals? 1 // FIXME: Warn on this when the CPU is set to it. 1 // TODO: emit warning here. 1 // FIXME: The support isn't in the metadata for this yet. 1 // FIXME: Different on PPC and ARM. 1 // FIXME: We could fold any GEP index to zero that would cause UB if it were 1 // FIXME: This check is currently being done in the analysis. It can be 2 // FIXME: We probably shouldn't ever get a non-zero BaseIdx here. 1 // FIXME: That should be changed. 1 // FIXME: Need much better heuristics. 1 // FIXME: Once we properly handle constructors in new-expressions, we'll 1 // FIXME: Issue a warning. 1 // FIXME: Use capture-init when we move to C++14. 1 // FIXME: Entirely reasonable to perform folding of other unary 1 // FIXME: Should we skip the body of the function and use the old definition 1 // FIXME: We should probably in some way ensure that the subtarget 1 // FIXME: In C++, enum types are never integer types. 1 // TODO: support vaarg 1 // TODO: Could inject an invalid typedef decl in an enclosing scope to 1 // FIXME: This would fit into the column limit if we'd fit "{ {" on the first 1 // FIXME: If there's already a constraint tracker for this variable, 1 Kind == OMPC_reduction; // TODO add next clauses like 'reduction'. 1 // FIXME: It would be nice if we had a more general mechanism to add 1 // FIXME: Implement! 2 // FIXME: This list is repeated from NoTTI::getIntrinsicCost. 1 // TODO: it would be nice if "definitely valid" results were cached 1 // TODO: perhaps we need a new symbol type ST_Section. 1 // FIXME: We should do this optimization if 'no signed zeros' is 1 // If this value has already been evaluated, it is free. FIXME: match undefs. 1 // FIXME: This check doesn't seem possibly correct -- what if the loop is 1 // FIXME: this note won't trigger for delayed access control 1 // FIXME: for ObjCId, ObjCClass, and ObjCSel, make sure that the "to" 1 // FIXME: This is not optimal recovery, but parsing the body is more 1 // TODO: Print the other register flags. 1 /* TODO: Support central dirs >= 32-bits in size */ 1 // FIXME: the integer vmull operations could be emitted in terms of pure 1 // FIXME: This is mostly duplicated from the function in AsmLexer.cpp. The 1 // FIXME: Do we want to use different scope/lines? 1 // TODO: Report error. 6 // TODO : Refactor two functions below. There are duplicate functions in DxcContext in dxa.cpp 1 // FIXME: We need AArch64 specific LLVM intrinsic if we want to specify 1 assert(getChild(0)->getNumTypes() == 1 && "FIXME: Unhandled"); 1 // FIXME: Clean this up if we move the phase sequence into the type. 1 // FIXME: Should the following dyn_cast be DILexicalBlock? 1 // FIXME: Is CurContext correct for this? Should we go to the (instantiation 1 // FIXME: Is there a better way to do this? 1 // TODO: add check for untied tasks. 1 // TODO: Handle Flow dependence.Check if it is sufficient to populate 1 // FIXME: Once GCC supports _Atomic, check whether it permits it here. 1 // FIXME: Should it SSAUpdate job to delete debug instructions 1 // FIXME: How do you declare (but not define) a partial specialization of 1 // FIXME: factor out common code from materializeStores 1 /// [!C99] init-declarator-list ';' [TODO: warn in c99 mode] 1 // FIXME: In C++0x, a constructor template can be a default constructor. 1 // FIXME: In order to enable the use of TBAA when using AA in CodeGen, 1 // FIXME: This does not handle other kinds of null references, 1 // FIXME: Move the tentative declaration logic into ClassifyName so we can 1 // FIXME: Improve diagnostic. 2 // FIXME: Remove DEPLIB in 4.0. 1 // FIXME: While there's only one unary transform right now, future ones may 1 // FIXME: Aggregate rvalues need to retain information about whether they are 1 // FIXME: By keeping the intersection, we may output more errors in future 1 // FIXME: Handle (some_union){ some_other_union_val }, which turns into 1 // FIXME: Expand these checks to include all undefined behavior. 2 // TODO: Unify this with ConvertBackendLocation() 1 // FIXME: We should not rely on fully-constrained symbols being folded. 1 /// defined. We should not need this, see FIXME in GenerateProtocol. 1 // TODO: We can handle other cases e.g. Instruction::And, Instruction::Or etc. 1 // TODO: Use combineMetadata here to preserve what metadata we can 1 // TODO: consider a better error message here 2 /// FIXME: We might be able to simplify this by having the asm streamer create 1 // FIXME: Implement MS style inline asm statement printer. 1 // FIXME: Once LValues are fixed to always set alignment, 2 }// TODO: reject non-zero padding 1 // FIXME: At some point we might want to do this for other lists, too. 1 // TODO: avoid TemplateName abstraction 1 // FIXME: Stash the backtrace. 1 // FIXME: generalize to symbolic offsets. 1 // TODO: Not sure if this case will actually work 1 // FIXME: For a c-style function nested inside an objc implementation 1 // FIXME: implement testing for #assert's. 1 // FIXME: Do we want to warn about subframeworks without umbrella headers? 1 // FIXME: We want to re-use the existing MemoryBuffer! 1 // FIXME: declarations with dependent or templated scope. 1 // TODO: We could make use of this to do it once for blocks with common PHI 1 // TODO: We need to set indices of the uses of the gep, not the gep itself 1 // FIXME: instantiation-specific. 2 // implicit-defs, but they must not be moved around. See the FIXME in 1 // FIXME: a ClassTemplateSpecialization or CXXRecordDecl can have 1 // FIXME: Make this configurable? 1 // FIXME: SEHFinallyStmt 1 // TODO: consider adding cleanups for the end of @autoreleasepool scope. 1 // FIXME: this works around module+PCH performance issue. 1 // TODO: validate ValidationRule::InstrOnlyOneAllocConsume for lib 1 // FIXME: This is not very efficient. 2 // FIXME: LateAttrs et al.? 1 // TODO: Try to handle non-zero GEPs of local aliasees. 1 // FIXME: Compatible calling conventions. 1 // FIXME: This miscounts tok:unknown tokens that are not just 1 // FIXME: Thumb should just be another -target-feaure, not in the triple. 1 // FIXME: I'm not sure what this is. 1 // FIXME rounding mode needs to be more flexible 1 // FIXME: Understand exactly what cases this addresses and 1 // FIXME: This is ugly, find a better way. 1 // TODO: Add support for Big Endian and UTF-32 2 // TODO: The pointer returned from objc_loadWeakRetained is retained. 1 // TODO: non-affine addrec 1 // TODO: Replace uint32_t with enum in the SPIRV-Headers once it is 3 DebugLoc dl; // FIXME: this is nowhere 1 // FIXME: We shouldn't hard code 'v1' here to make Clang future proof to 1 // FIXME: In some cases we can emit an error. 1 // FIXME: Should this also apply to floating point types? 1 // FIXME: need setObjCGCLValueClass? 1 // FIXME: Support all forms of 'template' unqualified-id '<'. 1 // FIXME: should we be doing this here? 1 // FIXME: move this to the DAG Combiner! Note that we can't regress due 1 // TODO: find a better name for this 1 // FIXME: Should allocate from normal heap so that we can free this later. 2 // TODO: This should be extended to handle switches as well. 1 // FIXME: call attributes 1 // FIXME: Currently only works on Linux. 1 // FIXME: Why do we care about long strings? 4 // FIXME: For now we conservatively ignore out of bound accesses, but 1 // stage is occupied. FIXME it would be more accurate to reserve 1 // FIXME: Split critical edges if not backedges. 1 // TODO: We are currently in the discussion about how to handle 1 // FIXME: If the next token is '<', we might want to ask the parser to 1 // TODO: Be smarter about handling cases where array_typesize is not a 1 // FIXME: __OPTIMIZE__ is a GNU extension that Clang implements but MSVC 1 copyCanThrow = true; // FIXME: reuse the noexcept logic 1 // TODO: add tests for mesh/amplification shaders to system-values.hlsl 12 // FIXME: These probably don't need to be ints. int:5 for depth, int:8 for 1 // TODO: When the Max Complexity is reached, we should conjure a symbol 1 // TODO: this restriction is easily removable -- we just have to 2 // FIXME: Optimize to allow individual templates to be deserialized. 1 // FIXME: Use better location, we should use proper tokens. 1 // FIXME: Compute lvalue of field pointers-to-member. 1 // FIXME: This doesn't handle member pointers correctly! 1 // FIXME: This is a manually un-factored variant of the basic code inside 1 // FIXME: Do this check. 1 // FIXME: We should be able to get rid of this method and use the va_arg 1 ## TODO: This define is only used for the legacy atomic operations in 1 // FIXME: We could probably treat IPC_BEGIN_MESSAGE_MAP/IPC_END_MESSAGE_MAP as 1 // FIXME: the entry block will hold function parameters. 1 // FIXME: we don't always have a self-variable. 1 // TODO: This should become an "emit thread local global" method on TLOF. 1 // FIXME: Scoped enums? 1 // TODO: Matrix swizzle members - emit 1 // FIXME: It would be more efficient to teach Twine to tell us its size and 1 // FIXME: Should we prefer the preferred type alignment here? 2 // FIXME: There should probably be logic here to find libc++ on Windows. 1 << /*FIXME:has side effects=*/0 1 // FIXME: We should be able to handle this in TableGen as well. It would be 1 // FIXME: The hasOneUse check will fail for PHIs that use the value more 1 // FIXME: There might(should) be a better way of doing this computation! 2 // TODO: handle multi-dimensional arrays 1 // TODO: implement other patterns from assume (e.g. V & B == A) 1 /// FIXME: this could actually be done right in patchRangesForUnit, 1 // TODO: remove ; for var decl. 1 // TODO: 3 // TODO: revert back to use OpVariable initializer 1 // TODO: Test nested conditionals: A) Checking the same value multiple times, 1 return ArgType(); // FIXME: Is this a known extension? 1 // FIXME: This is probably a bug in gtest. EXPECT_TRUE should expand to 1 // TODO: This is one area where the optimization could be made more 1 // FIXME: Should this be picked by checking the target triple instead? 1 // FIXME: This seems to be a bug in the DWARF type hashing specification that 1 // FIXME: If we figure out how to account for linkage in some way we could 1 // FIXME: SEHExceptStmt 1 // FIXME: This is overly conservative. 2 // FIXME: This demotion is inefficient. We should insert spills at the point 1 // TODO: validation this at ASTContext::getFunctionType in 1 // FIXME: This should never take place. 1 // FIXME: Only NSErrorChecker needs BugType's FlushReports. 1 // FIXME: we promote access to public here as a workaround to 1 // FIXME: enhance track back for uninitialized value for arbitrary 1 // FIXME: Provide code completion for #includes. 1 /* TODO: We could easily maintain the sorted central directory offsets. */ 1 // TODO: Currently, we might lose precision here: we always mark a return 1 // FIXME: Consider using SpecialCaseList to specify a list of functions that 1 // FIXME: This implementation of thunks bloats codesize by duplicating the 1 // FIXME: should not overwrite ASTMutationListener when parsing model files? 1 // FIXME: a more precise solution would require an interprocedural 1 // FIXME: When we move to C++11, use %t length modifier. It's not in 1 // FIXME: Missing definition of 2 // FIXME: Need to escape general strings. 1 /// FIXME: VTTs are Itanium ABI-specific, so the definition should move 1 // FIXME: Need to transform ConsumedParameters for variadic template 1 // FIXME: This should be removed when template instantiation propagates 1 // FIXME: Is this correct (that meta class size is never computed)? 1 // TODO: Is 16-byte alignment enough? We copy small object files with large 1 // FIXME: We could enforce CurrentSet intersect Required == {} here if we 1 // FIXME: Leave something behind to indicate where the exception object lives 1 # FIXME: Signal handler return type, currently hardcoded to 'void' 1 // FIXME: Replace this brittle forward declaration with the include of the new 3 // TODO: Factor this out + handle the lower level const pointers. 1 // FIXME: If we can leave the attributes in the token stream somehow, we can 1 // FIXME: Add a Fix-It that imports the corresponding module or includes 1 switch (Tok.getKind()) { // FIXME: move this predicate somewhere common. 1 // FIXME: Handle symbolic raw offsets. 1 // FIXME: Correctly support promotions/truncations. 1 // FIXME: Figure out the correct way to handle this in the presence of both 1 // FIXME: There are leaks from checkers that assume that the BugTypes they 1 /* TODO: Better sanity check archive_size and the # of actual remaining bytes */ 1 // FIXME: can this check be relaxed to account for undef uses 1 // FIXME: Are initializers affected by volatile? 1 // FIXME: this discards src value information. This is 1 // TODO: Reduce the weight by exploiting nsw/nuw? 1 // FIXME: We actually could/should check the template arguments here 1 // FIXME: These notes are poorly worded for the local friend case. 1 // FIXME: 'tag' should be removed, and a LocationContext should be used 3 /// FIXME: The interface seems set in stone, so we might want to just pull the 1 /// TODO: Co-allocate the expression elements. 1 // FIXME: We should model whether an '=' was present. 1 // FIXME: We strip const here because the inst visitor strips const. 1 // TODO: Update ImageGather to accept minLod if necessary. 1 // FIXME: Support ObjCEncodeExpr, MakeStringConstant 1 // TODO: or args.IsNonUniform with !isUniform(Phi). 1 // FIXME: Annoyingly, these are stored by name, which we never even emit. Yay? 1 // FIXME: What if ad-hoc aliasing introduces overlaps that aren't represented 1 // FIXME: make it conditional if ClStoreCleanOrigin==0 1 // FIXME: Should we just use 'normal' FP_EXTEND / FP_TRUNC instead of special 1 /*FIXME:*/ E->getLocStart()); 1 // FIXME: Remove the default statement from the switch block so that 1 // FIXME: I'm not sure why we are first trying to split the input into 1 // FIXME: We need a sema error for alignment larger than the minimum of 1 // FIXME: Subframeworks aren't handled here. Do we care? 1 // TODO: When truncation is free, truncate ICmp users' operands to make it a 1 // FIXME: Move this out into a .def file? 1 GDesc.RasterizerState = CD3DX12_RASTERIZER_DESC(D3D12_DEFAULT); // TODO: read from file, set from op 1 /// TODO: Handle this for Vectors. 1 // FIXME: Once N is canonical, check "SP == &N". 1 // FIXME: Remove this and make the appropriate fields public. 1 // FIXME: AttrKind 1 // FIXME: We can possibly optimize this later to cache this value. 1 // FIXME: Save the __extension__ on the decl as a node somehow? 1 // FIXME: Why the asymmetry, we divide by byte size in bits here? 1 // FIXME: Move to StringRef API. 1 // FIXME: We should be using the W versions of the registry functions, but 1 // FIXME: Currently we insert temporary destructors for default parameters, 1 // FIXME: It's more complicated than this and we don't really support 1 // FIXME: If we want to support export, we probably need to add the 1 /// TODO: We should probably use an on-disk hash table (stored in a 1 // FIXME: We are at an unreachable point, there is no reason to emit the block 1 // FIXME: Poor location information 1 // TODO only create the values that are actually needed 1 /// FIXME: output seems suboptimal when one of the operands is a constant 1 # FIXME: This doesn't belong here? 1 // FIXME: Explain inaccessibility if DiagKind == 3. 1 // FIXME: Support string-literal module names here. 1 // FIXME: Make the compilation database interface more explicit about the 1 case Instruction::Fence: // FIXME: refine definition of mayWriteToMemory 1 // FIXME: This will reduce the # syscalls. 1 // Recurse and re-process each PHI instruction. FIXME: we should really 2 // FIXME: We'll need to have a way to manually override this as needed. 1 // FIXME: This is incorrect; there is no other node for an explicit 1 // FIXME: This is copy&pasted from Sema. Put it in a common place and remove 1 // FIXME: Reduce unit test case. 1 // FIXME: Report unrecoverable sanitizers incorrectly specified here. 1 // FIXME: Avoid the linear-time scan here. 1 // TODO: Clean up the unneeded nodes. 1 // FIXME: Why is there a name here? 1 /// TODO: Allow UDivExpr if we can find an existing IV increment that is an 1 // FIXME: it's tricky to do anything useful for this, but it is an important 2 // TODO: implement `class`-related features, if requested 3 // FIXME: It seems like this entire block, and several around it should be 1 // FIXME: We really need to improve the relocation validation. Basically, we 1 // TODO: When a negated register is used by an add (such as in a list of 1 // TODO: add type hierarchy 1 // TODO: We could rewrite post visit to eval call; 'malloc' does not have 1 // FIXME: Arbitrarily pick the first declaration for the note. 1 // FIXME: Eventually we should replace the logic below with a range 1 // FIXME: Potential overflow? 1 // FIXME: Provide TLI, DT, AC to SimplifyInstruction. 1 // FIXME: Historically, we defined this legacy name, it would be nice to 2 // FIXME: Currently we are using an extent symbol here, 1 // FIXME: migrate callers to TemplateArgumentLoc instead. 2 // TODO swap: fp_status_t fpu_fsw; 1 // TODO: We could potentially be more aggressive here. This would be worth 1 // FIXME: should we add a SF_Text? 1 // FIXME: Context should be set correctly before we get here. 2 // FIXME: Multiple variables declared in a single declaration 1 /*FIXME:InOverloadResolution=*/false, 1 // TODO: Blocks should be either inlined or should call invalidate regions 1 // TODO: should we report variant information for ctors/dtors? 1 // TODO: For now, just add the min and max offset, because it usually isn't 1 // FIXME: This also needs to invalidate captured globals. 1 // TODO: Add support for __pascal to LLVM. 1 // FIXME: selector is missing here! 1 // FIXME: at run-time detect assembler capabilities or rely on version 1 // FIXME: Using a formula based purely on the precision is conservative; 1 // FIXME: We should try to sink unescaped allocas from the parent frame into 1 // FIXME: If this should support Obj-C++, support CXXTryStmt 2 Record.push_back(E->getCastKind()); // FIXME: stable encoding 1 // FIXME: getSplitUnqualifiedType() actually walks all the way to 1 // FIXME: This is a gaping layering violation if we wanted to drop 1 return nullptr; // FIXME: handle template arguments 1 // FIXME: Sometimes the fill expr is 'nop' if it isn't supplied, instead of 0. 1 // FIXME: Cleanup this code, these bits should be emitted based on semantic 1 // FIXME: This code can be simplified by introducing a simple value class for 1 return false; // TODO: Handle multiple return values. 1 // FIXME: Should these be made strings as well? 1 // TODO: For cast expression with CastTy. 1 // TODO: DEFAULT_WEIGHT makes sense during static predication, when none of 2 // FIXME: It would be better to be explicit in certain contexts, such as a 1 // FIXME: We should return 0 when building kexts. 1 // TODO: further distinguish between binary operations. 1 // TODO: In the AlwaysInline case, if the size is big then generate a loop 1 // FIXME: This really should be in BuildFunctionType. 1 // FIXME: We need to pass in the attributes given an AST 1 // FIXME: Figure out whether this makes sense. It doesn't affect the 1 // FIXME: in general circumstances, this should be an EH cleanup. 1 // FIXME: warn that 'exestr' is deprecated. 1 // FIXME: In this case, we should not add this decl to the lookup table. 1 // FIXME: this gets much more complicated once we support non-trivial 1 // FIXME: This may not be lambda-friendly. 1 // TODO: Allow parsing of multiple operands before '=' 1 // FIXME: This is not enough to unambiguously identify the member in a 1 Record.push_back(E->getBridgeKind()); // FIXME: Stable encoding 1 // FIXME: Generalize this for even non-member global variables where the 1 // FIXME: Precompute which side of an 'if' we would jump to, and go 1 // FIXME: String data should be stored as a blob at the end of the 1 // var goodToDoLine = /TODO: HLSL #[0-9]+ - [0-9a-zA-Z]+/; 1 // FIXME: This is a dirty way to access the previous token. Find a better 1 // FIXME: don't use this for that. 1 // TODO: make buffer/texture load on srv safe. 1 // FIXME: Being 100% compliant here would be nice to have. 1 // TODO: properly support compareFlags. 1 // FIXME: Reject bit-fields wholesale; there are two problems, we don't know 1 // FIXME: The context should be correct before we get here. 1 bool IsVFSMapped; // FIXME: remove when files support multiple names 1 // FIXME: Try this before emitting the fixit, and suppress diagnostics 1 // TODO: white-list trivial vbase initializers. This case wouldn't 1 // TODO: Try to normalize newly added/modified edge. 1 // FIXME: Once GDB supports this, it's probably worthwhile using the address 1 /// TODO: Per PR2563, we could infer value range information about a 1 // TODO: save comma locations if some client cares. 1 // TODO: A better future implementation would be to emit a single variable 1 //FIXME: How do we emit the 'use'd modules? They may not be submodules. 1 // TODO: Add mechanism to properly calculate the flags. 1 // TODO: Implement this if you want to emit .comment section in COFF obj files. 1 // TODO: For this to be really effective, we have to dive into the pointer 1 // FIXME: String literal breaking is currently disabled for Java and JS, as it 1 // TODO: Find the right thing to do on failure 1 rem TODO - discover rather than hard-code 1 // FIXME: Put in the same order is DeclNodes.td? 1 // bail out. TODO: we might want to accept limited recursion. 1 // FIXME: Move backend command line options to the module. 1 // FIXME: Pass in E->isListInitialization(). 1 // FIXME: Should we support init_priority for thread_local? 1 // TODO: not all attributes are GCC-style attributes. 1 // TODO: See if I need to check for reference types here. 1 // FIXME: Is this a good system? 1 // TODO: consider erasing this 1 // TODO: We probably need to handle .. as well as . in order to have valid 1 // FIXME: Use attributes? 1 // FIXME: This currently contains the set of StoredDeclMaps used 1 // FIXME: Shouldn't this just filter on llvm.metadata section?? 1 bool IsVFSMapped; // FIXME: remove this when files support multiple names 1 // FIXME: If the type is wider than it needs to be, e.g. i8 but all values 1 // FIXME: We should actually use two different concepts for analysis results 1 // FIXME: Factor out duplication with 1 << /*FIXME:has side effects=*/0 1 // FIXME: We use ManagedStatic to erase the pass registrar on shutdown. 1 // FIXME: Get object address space 1 // FIXME: Warn on inconsistent use of -march and -mabi. 1 // FIXME: SCEV distributes multiplication as V1*C1 + V2*C1. We could attempt 1 // FIXME: We should do this whether or not we have a declaration 1 // TODO: fixit for inserting 'Base::' in the other cases. 1 // TODO: support all cases. 1 // FIXME: Ugly hack to stop a crash; this code is making bad 1 // TODO: Restore the use-lists to the in-memory state when the bitcode was 1 // FIXME: We may still want to build some representation of this 1 // FIXME: This shouldn't be here. 1 // FIXME: Unfortunately, to make sure this is as efficient as possible we 1 // FIXME: This should really be shrink_to_inline_capacity_and_clear(). 1 // FIXME: UpdateFlags is a workaround that creates live intervals for all 1 // FIXME: handle sseregparm someday... 1 // FIXME: This should set a bit in the zero extended value instead. 1 // FIXME: This is a hack. We need to keep the successor around 1 // FIXME: Add a flag to the ScopeInfo to indicate whether we're performing 1 TODO: 1 // FIXME: Is this necessary? These contexts are only used for default 1 // FIXME: handle addsub-type operations! 1 // FIXME: Use different diagnostics for overflow in conversion to promoted 1 // FIXME: These emission are non-const because we mutate the symbol to 1 /// FIXME: Simply returns an alignof() expression if the argument is a 1 # FIXME: "ENABLE_SHARED" doesn't make sense, since it is used just for 1 // FIXME: See FIXME above regarding result code interpretation. 1 // FIXME: This is leaked. 1 // TODO: consider just listing the `RasterizerOrdered` cases explicitly, 1 // TODO: Handle store large -> read small portion. 1 Entity.setDiag(PDiag); // TODO: avoid copy 1 // FIXME: Grab an IntRange for the condition rather than using the unpromoted 1 // TODO: introduce a tri-valued comparison for overload 1 // TODO: Could also handle negative stride here someday, that will require 1 SIZE_T Result = VirtualQuery(Mapping, &mbi, sizeof(mbi)); // TODO: do we need to plumb through fsr? 1 // FIXME: ElaboratedType, DependentNameType, 1 // FIXME: caret should be on the start of the class name 1 // FIXME: Import definition! 2 // FIXME: Produce a diagnostic for self-initialization. 1 // FIXME: Eventually remove. 1 // FIXME: We might want to attempt typo correction here. 1 // FIXME: What exactly does the StartOfLine bit mean? There are two 1 // FIXME: it is entirely possible that PHI translating will end up with 1 // TODO: Need to make sure that if that dependency got eliminated or ignored 1 // TODO: Shouldn't we have more specific ICK enums so we don't have to re-evaluate 1 // FIXME: instantiate DerivedRD if necessary. We need a PoI for this. 1 // FIXME: Consider the time-space tradeoff of just storing the unit pointer 1 // TODO: Handle: br (VARIANT|INVARIANT). 1 /// mode is legal for a load/store of any legal type. TODO: Handle 1 // TODO: This redundantly records nodes with both glues and chains. 1 // FIXME: Using the instsimplify logic directly for this is inefficient 1 // TODO: white-list cases where: 1 // FIXME: probably remove when we no longer support aarch64_simd.h 1 // FIXME: If an externally-visible declaration extends multiple temporaries, 1 // FIXME: New needs a pointer to Tmpl 1 // FIXME: Create an ExplicitInstantiation node? 1 // TODO: others? 1 // FIXME: Specific diagnostic. 1 // FIXME: if !OnlyDeduced, we have to walk the whole subexpression to 1 // incorrectly classified the parenthesis as a cast. FIXME: Detect correctly. 1 /// TODO: Store arguments directly and change \a DIExpression to store a 1 // FIXME: The synthesized property we set here is misleading. We almost always 1 // TODO: For honest DWARF64 support, DataExtractor will have to treat 1 // TODO: what if this fails because of DiagnoseUseOfDecl or something 1 // FIXME: We should have a common utility for generating an aggregate 1 /// TODO: This function neither utilizes nor preserves nsw/nuw/inbounds/etc 1 // FIXME: Can we somehow regenerate the stat cache here, or do we need to 1 // FIXME: Warn on inconsistent use of -mcpu and -march. 1 // FIXME: Provide a SourceLocation. 1 // FIXME: This might apply to other languages and token kinds. 1 // TODO: Verify system value is included in signature, system value enum is appropriately set, 1 // FIXME: This really should be in BuildFunctionType. 1 // FIXME: We could count these too... 1 // FIXME: This should probably be: 1 DetermineStructMemberSizesAndOffsets(subType, BaseOffset /*TODO: plus member offset*/); 1 /// FIXME: Type hierarchies in Objective-C can be deep. We could most likely 1 LPCWSTR pOutputName = nullptr; // TODO: Fill this in 1 // FIXME: Make the type of the result buffer correct instead of 2 // FIXME: Remove this when msan works with lifetime markers. 1 // TODO: set index 1 // FIXME: This isn't really what 'as' does; I think it just uses the implicit 1 // TODO: get a referenced type as 'class Something'; 1 // FIXME: We should form some kind of AST representation for the implied 2 // TODO: support other DxilParamInputQual. 1 // FIXME: preserve source range information 1 // TODO: check other case uninitialized output is allowed. 1 # FIXME: Remove this once clang-cl supports SEH 1 // FIXME: If the exception specification is already present, check that it 1 // FIXME: For now, ignore classes that subclass SenTestCase, as these don't 1 // FIXME: If this is a problem, recover from it by creating a multiplex 1 // FIXME: Playing with std::string is really slow. 1 /// FIXME: Should we really use std::function? It's relatively inefficient. 1 // FIXME: We don't set up EvaluatingDecl for local variables or temporaries, 1 Record.push_back(E->TypeTraitExprBits.Kind); // FIXME: Stable encoding 1 // FIXME: We need a more general way of getting the M_ZERO value. 1 // FIXME long double 2 // FIXME: Remove this hack. 1 // FIXME: Needs more sophisticated heuristics. 1 // FIXME: Using the pointer type doesn't seem ideal. 1 // HLSL Change Starts - all analysis done - TODO semantic changes for IR 1 // FIXME: Warn, deprecate, and potentially remove this. 2 // FIXME: This isn't actually correct for arrays -- we need to zero- 1 // TODO: change the type to SpirvDebugType * when we support 1 // TODO: Recognize that a bunch of other objc runtime calls have 1 // TODO: Handle regmask more accurately. 1 WScript.Echo(" // TODO: HLSL #123 - description"); 1 // FIXME: do we need to check if the type is NSString*? What are the 1 // TODO: Could compare two direct calls against each other if we cared to. 1 // FIXME: Creating a CXXFunctionalCastExpr around a CXXConstructExpr 1 // TODO: Print all the data in DxilSignature. 1 // FIXME: Should this check for ObjC2 being enabled? 1 /// FIXME: This is a little CXXRecordDecl-specific that the moment. 1 AddRecCost += 1; /// TODO: This should be a function of the stride. 1 // TODO: validation this at ASTContext::getFunctionType in 1 /// FIXME: this creates an asymmetric result: we strip functions from losing 1 // FIXME: it would be nice if these were mergeable with things with 1 // FIXME: Current this just generates the Function definition, but really this 1 // FIXME: Add isImplicit to CXXConstructExpr. 1 // FIXME: We need to build the lookups table, which is logically const. 1 // TODO: This splitting logic may not work always. Fix this. 1 // FIXME: Really use a short string. 1 // TODO: for complete types, this should be possible with a GEP. 1 // TODO: or args.IsNonUniform with !isUniform(Phi) with uniform 1 /// TODO: Presumably vftables use the same algorithm. 1 # TODO: limit ActionCopyCompilerBins action to ones that do run-time compilation. 1 // FIXME: TheLine->Level != 0 might or might not be the right check to do. 1 // TODO: isZeroInitializable can be over-conservative in the case where a 1 // FIXME: That isn't necessarily true, we should try to mmap stdin and 1 /// TODO: If anyone is interested, we could record preorder numbers here. 1 /// FIXME: this analysis does not currently support either re-entrant 1 // FIXME: a bit wastefull as the first getName might return the 1 // FIXME: @catch (Class c) ? 1 // TODO: This could be extended to merge any 2 cases in switches with 3 1 // TODO: Avoid copying files into memory. 1 // FIXME: The &F == *ModuleMgr.begin() check is wrong for modules. 1 // FIXME: If these aren't protocol references, we'll need different 1 // FIXME: This makes sure that we ignore the contexts associated 1 // FIXME: Check other declaration kinds! 1 // FIXME: There are other no-op synthetic instructions that potentially 1 DKind == OMPD_parallel_sections; // TODO add next directives. 2 // FIXME: Should we be suppressing ambiguities here? 1 // FIXME: Wrong source location information for the '('. 2 // FIXME: not all declaration name kinds are legal here 1 return; // FIXME: is this correct? 2 // TODO: Serialize live in registers. 1 # FIXME: Don't write the "local:" line on OpenBSD. 1 // FIXME: Check that we actually have cmpxchg8b before setting 1 // FIXME: CXXNewExpr and CXXDeleteExpr implicitly call functions. 1 // FIXME: We use LLVM_ATTRIBUTE_NOINLINE because inlining causes a ridiculous 1 // FIXME: In the future, return a variant or some other clue 1 // FIXME: This really doesn't make any sense. We get a dominator tree below 1 // FIXME: The BarrierNoopPass is a HACK! The inliner pass above implicitly 1 // FIXME: we should produce a symbol for F instead. 1 // FIXME: We could check if we can speculate everything in the 1 // FIXME: We could potentially recurse down through the last element in the 1 // FIXME: We need to delay this marking in PotentiallyPotentiallyEvaluated 1 // FIXME: Ignore weak undeclared identifiers from non-original PCH 1 // FIXME: Preserve type source info. 1 // TODO: When this format changes, take in a version number here, and use the 1 // FIXME: This is poor design, the OCD should have a pointer to the category 1 /// TODO: Split up flags. 3 // FIXME: move the definition in Sema::InstantiateAttrs to here. 1 // FIXME: Should we really eat the error? 1 // FIXME: We're just going to throw this information away. Don't build it. 1 // FIXME: temporary hack: hard-coded paths. 1 // FIXME: other qualifiers? 1 // FIXME: For now keep the previous behavior, AShr, matching the previous 1 // FIXME: It would be better to scan the text once, finding either the block 1 // TODO: support ExtractEntryUniforms, GlobalExternByDefault, SkipStatic, 1 // TODO: Support attributes on the call site as well. 1 // FIXME: Get the strings for DeclContext from some localized place 1 // FIXME: This generated code sucks. We want to generate 1 /// FIXME: Why not output directly to the output stream? 1 // FIXME: Can we map this down to a particular submodule? That would be 1 // FIXME: As the RuntimeDyld fills out, additional routines will be needed 1 // FIXME: Attributes? 1 // FIXME: Should we use a common classification enum and the same set of 1 // FIXME: Once we have better matchers for template type matching, 1 // FIXME: This could be more efficient if there was a 1 // FIXME: ext vector locs should be nested 1 // FIXME: This is only necessary as long as there are checker registration 1 /* FIXME: Remove this check? Is it necessary - we already check the filename. */ 1 /// TODO: There can be multiple DebugScope instructions in a basic block. 1 // FIXME: Use SM.translateFile directly. 1 // FIXME: This approach for uniquing ADL results (and removing 1 // FIXME: For now, avoid instructions with multiple defs, unless 1 // DNInfo work in progress: FIXME: source locations? 1 // FIXME: Add core issue number for the union case. 1 // FIXME: Provide a way to read the integral data without copying the value. 1 // FIXME: Should use max factor instead of max distance in bytes, which could 1 DebugLoc dl; // FIXME: this is nowhere 6 case BuiltinType::Half: break; // FIXME: suffix? 1 ProhibitAttributes(Attrs); // TODO: is it correct? 1 // FIXME: Remove `PARAMATTR_CODE_ENTRY_OLD' in 4.0 1 // FIXME: 'template' keyword location not saved anywhere, so we fake it. 1 // FIXME: Clean this up. 1 // TODO: We should probably improve this error message since it pertains to a parameter 1 // 'false'. TODO: update the domtree properly so we can pass it here. 1 // TODO: Remove this limitation 1 /*FIXME:*/E->getLocStart(), 2 // FIXME: Compute the set of active module macros at the specified location. 1 // FIXME: This pass currently can only expand a pseudo to a single instruction. 1 // FIXME: consider replacing raw_ostream & with something like SmallString &. 1 // FIXME: Unnamed fields can be handled in various different ways, for 1 // FIXME: The newly created binary instructions should contain nsw/nuw flags, 2 // FIXME: This is an egregious hack to cope with cases where the scope stack 1 // PPC (the libcall is not available). FIXME: Do this in a less hacky way. 2 /// FIXME: Pointers into different addr spaces could have different sizes and 1 // TODO: Could use getStructLatticeValueFor to find out if the entire 2 // FIXME: I believe that this could use copy_if if the Inst reference could 1 // FIXME: LOH interface supports only MachO format at the moment. 1 // FIXME: Should be reformulated in terms of addComplexAddress. 1 // FIXME: Add support for optional parameter list... 1 // FIXME: This isn't quite ideal, since our ASTs don't capture all 2 // TODO: Check that the input bits are already zero with MaskedValueIsZero 1 // FIXME: add a couple examples in this comment. 1 # FIXME: This should not be here? 1 // FIXME: this may erroneously consume a parenthesized rvalue reference 1 kw_deplibs, // FIXME: Remove in 4.0 1 /// TODO: Merge into node for DW_TAG_array_type, which should have a custom 1 // TODO: make this is a typesafe union. 1 // FIXME: We shouldn't need to do this, the target should be immutable once 5 // FIXME: Hack, getDeclContext() can be null if Template is still 1 // FIXME: This really results in shameful code when we end up needing to 1 // FIXME: This should be DllCharacteristics to match the COFF spec. 1 # FIXME: We might not ship all the tools that these man pages describe 1 // FIXME: Don't leak everything! 1 // FIXME: currently, "static" case isn't handled correctly. 1 // FIXME: This is not lazy, it would be nice to only print weak references 1 // TODO: should really use string_table for this once that's available 1 // FIXME: Allow mixed explicit and implicit operands on inline asm. 1 // TODO: Use TTI->getGEPCost here (it exists, but appears to be not 1 // FIXME: generic has to be added to the target 1 // FIXME: This is overconservative; this transform is allowed in some cases 1 // FIXME: clean up predecessor pointers to unreachable blocks? 1 // FIXME: Use the conversion function set stored in ICS to turn 1 // TODO: Lower MIN/MAX/ABS/etc 1 // FIXME: Disable corrections that would add qualification? 1 // FIXME: Builtin::BI__builtin_powil 1 // FIXME: This should only use space for first class types! 1 // FIXME: Ditto this. Purely so the Streamer and the ObjectWriter can talk 1 // FIXME: Builtin::BI__builtin_powif 1 // FIXME: All of this logic should be sunk into getInlineCost. It relies on 1 // TODO: Actually report errors helpfully. 1 // FIXME: this is really just shoring-up a deficiency in alias analysis. 1 // TODO: eventually we should lower this intrinsic to IR 1 // TODO: It would be nice to use addProfileRT() here, but darwin's compiler-rt 1 return rhs; // TODO: incorrect for compound assignments 1 // FIXME: Implement copy operations if/when they're needed. 1 // FIXME: This instantiates constexpr functions too frequently. If this is 1 // readWrite = ShaderAccessFlags::Read; // TODO: Support 1 // FIXME: Add a more explicit test. 1 // FIXME: Share code with the other alias building directives. 1 // FIXME: that's really not sufficient; we need to make the type 1 // TODO: This logic should be a part of generic symbol escape callback. 1 // FIXME: An explanation of why exactly it can't be inherited 1 // TODO: Recreate the machine function. 1 /// TODO: This class could be generalized to know about other ObjC-specific 1 // (VD) - FIXME: Missing from the standard: 1 // FIXME: Import macro expansions! 1 // FIXME: It's really gross that we have to cast away constness here. 1 // FIXME: If the return type is already deduced, check that it matches. 1 // FIXME: This file leaks ExplicitSymbols and OpenedHandles! 1 // FIXME: When i points outside idxList, it's an indication that this GEP 1 // TODO: figure out the proper flag based on the function decl. 1 // FIXME: This is ugly. See checkEndAnalysis for why it's necessary. 1 // TODO: Verfiy the behavior of static globals in hull shader 1 // FIXME: We should be able to bail at this point with "nothing changed". 1 // FIXME: Preserve the source information through to the AST rather than 1 /// TODO: Separate out types that need this extra operand: pointer-to-member 1 // FIXME: Value of 8 is base on ppc32/x86 ABI for the most common cases. 1 /// FIXME: Implement comparsion for other node types (currently 1 // TODO: Warn about unreachable code. 1 if (SI->getNumCases() < 4) // FIXME: Find best threshold value (benchmark). 1 /* TODO: Work around "error: include file 'sys\utime.h' when compiling with tcc on Linux */ 1 // TODO: Revisit this when VS2015 gets released. 1 // FIXME: we may want to suppress diagnostics for all 1 // FIXME: Maybe this should use DeclPrinter with a special "print predefined 1 // TODO: remove this early return once the false positives for constant->bool 1 // FIXME: Make this work with -gsplit-dwarf. 1 // FIXME: The type bound is currently ignored by lookup in the 1 // FIXME: Diagnose assignment to protected identifier (e.g., register name). 1 /// FIXME: This returns the wrong results in some cases (if cv-qualifiers don't 1 /// TODO: This should really be a parameterizable choice. 1 // FIXME: We shouldn't need to get the function info here, the 1 // FIXME: temporary hack: hard-coded paths. 1 // FIXME: This does not make macro-only imports visible again. 1 // FIXME: Does this really make sense for all GNU toolchains? 1 // FIXME: Come up with a better indentation for #elif. 1 // FIXME: this chunk of code is duplicated, but it avoids a fstat when 1 // FIXME: Having an MCSubtargetInfo on the target machine is a hack due 1 // FIXME: If a function has alias, there are two entries in symbol table 1 /// FIXME: this really belongs on some sort of DeploymentTarget abstraction 2 // FIXME: We should be able to push Namespc here, so that the each DeclContext 1 /// TODO: use a more general approach that still allows these 1 // FIXME: Split the DeclSpec into pieces for the standalone 1 // FIXME: Using "DestType" for the entity we're printing is probably 1 // TODO: Build AST. 1 // TODO: Quoted identifiers (objc methods etc) 1 // FIXME: Will eventually need to cope with member pointers. 2 // FIXME: Remove this function when Replacements is implemented as std::vector 2 // FIXME: We should be able to generate this USR even if the 2 // TODO: Adjust state of args appropriately. 1 // FIXME: generic has to be added to the target 1 // FIXME: This should be done in FinalizeLayout. 1 DEF_TRAVERSE_DECL(ObjCProtocolDecl, {// FIXME: implement 2 // FIXME: specific_attr_iterator iterates in reverse order. Fix that and use 1 // FIXME: We should allow unexpanded parameter packs here, but that would, 1 // TODO: If CI is larger than 16-bytes, we can try slicing it in half to see 1 // FIXME: This doesn't send the right notifications if there are 1 # TODO - check operand types 1 // FIXME: Can this happen for floating point types? 1 // FIXME: Should handle CXXTryStmt if analyser starts supporting C++. 1 // FIXME: Make this nicer. 1 // TODO: Factor into common return ParseSEHHandlerCommon(...) 1 // TODO: Should these be here or in LoopUnroll? 1 return 1; // FIXME: Generalize SDNodeXForm 1 // FIXME: This Decl should be more precise. 1 // FIXME: use diagnostics subsystem for localization etc. 1 // TODO: update this with DR# once a defect report is filed. 1 // FIXME: Provide better range information for different 1 // FIXME: Should we look these up somewhere other than the module. Its a bit 1 /// TODO: Inherit from Metadata. 1 // FIXME: Perform the checks on the field types in SemaInit. 2 // FIXME: always printing the parenthesis isn't the correct behavior for 1 // FIXME: Merge with rewriter code? 1 // FIXME: Actually complain, once we figure out how to teach the 1 // FIXME: Assume only the first tree is the pattern. The others are clobber 1 // TODO: Correctly identify unreachable blocks when chaining boolean operators. 1 // TODO: provide validation for quads where the same pixel was shaded multiple times 1 // FIXME: What is the design on getTagDeclType when it requires casting 1 EXPECT_EQ(Some.shl(Some), Full); // TODO: [0xa << 0xa, 0xfc01) 1 // FIXME: this creates a second copy of this type! 1 // TODO: adjust naming patterns to avoid this order of iteration dependency 1 // FIXME: We should really be rebuilding the default argument with new 1 # TODO: support other platforms and toolchains. 1 // FIXME: This shouldn't happen unless there is a file system race. Is 1 // FIXME: For floating point types, we should be saving and restoring the 1 // FIXME: This is wrong; we should parse this as a typename-specifier. 1 /// We maintain a number of invariants on Twine objects (FIXME: Why): 1 Record.push_back(T->getSizeModifier()); // FIXME: stable values 1 // FIXME: Should we really fall through here? 1 // FIXME: It would be better to have a mode which *only* omits IR 1 // TODO: Because all of these things are constant, we can determine whether 1 // FIXME: detect and handle SSE maskstore/maskload 1 // FIXME: It may be worthwhile to generalize this and look for a second 1 // FIXME: Should we accept "-R..." flags here, or should that be handled 1 // FIXME: Make determination of operator precedence more general and 1 return true; // FIXME: Is this correct? 1 // FIXME: Eventually these should be rolled into the MallocChecker, but right now 1 // FIXME: add checker 1 // FIXME: Recover nicely in the hidden case. 1 // FIXME: This logic can be greatly simplified by splitting it along 1 // FIXME: Remove ? 1 /// FIXME: This is a bad API, we are hiding NamedDecl::getIdentifier() 1 // TODO: Update lastprivates if the SeparateIter flag is true. 1 /// FIXME: Add a check for getDiscriminator(). 1 // FIXME: Add a flag to the checker where allocations are assumed to 1 // TODO: should we warn about static data members shadowing 1 /// TODO: Add support for the following debug types: 1 // FIXME: this should get propagated down through anonymous structs 1 // TODO: For UDIV use SRL instead of SRA. 1 // FIXME: GCC also intends to return 1 for literals of aggregate types, but 1 // TODO: Can never be -0.0 and other non-representable values 1 // FIXME: Handle memset_pattern4 and memset_pattern8 also. 2 // FIXME: It would be nice to eventually make this diagnostic more clear, 3 // TODO: We currently implement an algorithm whose time complexity is linear in 1 // FIXME: This should use the computed output file location. 1 // FIXME: We don't currently have the ability to accurately 1 // TODO: We should get rid of this function when APFloat can be constructed 1 // FIXME: this should chose the most expensive case! 1 # TODO - some arguments are required to be immediate constants in DXIL, eg resource kinds; add this information 1 // FIXME: data member pointers? 1 // FIXME: this is here to allow putting FileEntry in std::map. Once we have 1 // All we need are the default actions. FIXME: use a helper function. 1 // FIXME: The expensive part of the cycle check is not so much the cycle 1 // FIXME: Instead of visiting the pending Q each time, set a dirty flag on the 1 // behavior for now. FIXME: Directly diagnose uses of a string literal as 1 // TODO: implement. 1 // TODO: re-review the Check** in Clang and add equivalent diagnostics if/as needed, possibly after conversions 1 // TODO: x4 for byte address 1 // TODO: In fast-math mode, this could be just sqrt(x). 1 // FIXME: This is imprecise. We need a better way of identifying where a 1 // Operand 1 & 2 are true, false path respectively. TODO: refactor to 1 // FIXME: Call into Actions to add any init-capture declarations to the 1 // TODO: We need to check if AccessType of TagA encloses AccessType of 1 // FIXME: We may be able to do this with related result types instead. 1 // FIXME: Do we need to worry about global aliases? 1 // FIXME: This needs to be generalized to handle classes as well. 1 // FIXME: Customize for the initialized entity? 1 // FIXME: is there a way to tell if two labels refer to the same location? 1 // FIXME: Check for overloading more carefully, e.g., by boosting 1 // FIXME: If this is a redeclaration of a function from another module, handle 1 // FIXME: If DiagDecl is an implicitly-declared special member function, 1 // FIXME: Line.Last points to other characters than tok::semi 1 // FIXME: Is there a better way to do this? MCEncodedFragmentWithFixups 1 // TODO: Handle ak_declcontext case. 1 // FIXME: order? why not size expr first? 2 // TODO: Handle a nonconstant Step given AddRec. If the 1 // FIXME: Once we understood exactly if that information is needed, 1 // TODO: reenable the check and skip template argument. 1 // FIXME: re-use FnInfo in this computation. 1 // (FIXME: "template friend class A::B;"). 1 // FIXME: For catch, __except, __finally the first token on the line 1 // FIXME: For blocks we currently mimic GCC's mangling scheme, which leaves 1 // TODO: validate lifetime intrinsic users 1 // TODO: Could push this into the innermost scope where 'e' is 1 // TODO: Slow. Should only be enabled if -stats is used. 2 # FIXME: Expose iteration from CIndex, PR6125. 1 /// FIXME: Change the getFilename() check to getFile() (or add one for 1 // FIXME: Gross 1 // TODO: The "right" way to tell what kind of object file a given YAML file 1 // TODO: We could use i64 if it is native and the range requires it. 1 # FIXME: There should just be an isNull method. 1 // and the store. TODO: The function should just return new env and store, 1 // FIXME: ASTContext::getInjectedClassNameType is not currently suitable 1 // FIXME: Kill copy? 1 // FIXME: POSIXThreads isn't exactly the option this should be defined for, 1 // FIXME: this should be stored in the record layout. 1 // TODO: change opcodes. 1 // FIXME: There are two use cases here: doing a fuzzy 1 // FIXME: Should be controlled by command line option. 1 // FIXME: Kill copy. 6 // FIXME: Should this update Data as well? Do we need OrigSymbol at all? 1 /// FIXME: Remove this. Users should use DILocation::get(). 1 // FIXME: For a macro definition make sure that all expansions 1 // FIXME: It would be nice to remove all such bonuses. At least it would be 1 // FIXME: We really should allow ranges of valid theType values, and 1 // FIXME: Use constant-folding in CFG construction to simplify this 1 /// FIXME: Pull out common code with above macro? 1 // FIXME: If a caller has multiple calls to a callee, we end up recomputing 1 // TODO: RWByteAddressBuffer is supported on SM4 on compute shaders 1 // FIXME: I don't think NumCmps is the correct metric: a single case and a 1 /// TODO: This may be unnecessary. 1 #if 0 // FIXME: implement refcounted tree nodes! 1 // FIXME: Support -fpreprocessed 1 // FIXME: fix handling of complex expressions here. 1 /// TODO: getMaxPressureDelta results can be mostly cached for each SUnit during 1 // FIXME: This implements a workaround with @property declarations also being 1 GDesc.SampleDesc.Count = 1; // TODO: read from file, set from shader operation; also apply to count 1 // FIXME: This doesn't have to have any specific name, just any randomly 1 // FIXME: Rather that making the constructor invalid, we should endeavor 1 // FIXME: Add attributes of other objects? 1 // TODO: Handle multiple loops at a time. 1 /// FIXME: Change to a vector and deduplicate in the RefactoringTool. 1 // FIXME: This error message could be improved, it would be nice 1 // TODO: this whole function needs be rewritten as a visitor for CFGWalker. 1 // FIXME: Provide support for variadic template constructors. 1 // TODO: Need to some analysis to figure this out. We can put the alloca on 1 g_RealFileSystem.Retain(); // never let go - TODO: guard against refcount wraparound 1 // FIXME: In this case, we should provide the diagnostic for casting 1 // FIXME: assignment-expression may contain an unparenthesized comma. 1 // FIXME: This should be on the Type class! 1 // FIXME: This is a simplified version of what's in CFRefCount.cpp -- it makes 1 // TODO: Check for irreducible control flow. 1 return DKind == OMPD_teams; // TODO add next directives. 1 # FIXME: Add fuzzy matching. One simple and possible effective idea would be 1 // TODO: report an error when we specify the same flag more than once. 1 // FIXME: Enable this with XDEBUG when the test suite is clean. 1 // Add the dimensions of the array. FIXME: This loses CV qualifiers from 1 // FIXME: Can this happen? We should not try to expand the pack 1 // FIXME: Support vector-GEPs. 1 // FIXME: Name may be null here. 1 // FIXME: Is there a better way to avoid quotes than using getName()? 1 // FIXME: This does not seem right, there should be more indentation before 1 //isExtension = true; // FIXME: implement #assert 1 // FIXME: This check should be for a variable template instantiation only. 1 if (NumVisited > 10) // FIXME: Arbitrary limit to reduce compile time cost. 2 // TODO: print all the other kinds of load commands. 1 // FIXME: Should we leave a note for ourselves to try again? 1 // TODO: Print the rest of the RDAT info 1 // FIXME: This error shouldn't actually occur (the front end should emit 1 // TODO: This is currently doing a row_major matrix load. We must 1 /*FIXME:TemplateArgs=*/nullptr); 1 // FIXME: We should handle recursing on other vector shuffles and 1 // FIXME: Parallelize. 1 // FIXME: we should record the bounds SrcSizes[i] and DstSizes[i] that the 1 // TODO: require less knowledge about the implementation in the test. 1 // FIXME: Move this down to AnyFunctionCall once checkers have more 2 // FIXME: We'd rather use something more cryptographically sound than 1 // TODO: We could have a clean-up method to tidy the instruction. 1 // FIXME: This is a bad API, we are hiding NamedDecl::getName with a different 2 // FIXME: Rebuild the expression instead of mutating it. 1 /// FIXME: This type of customization should be removed in favor of the 1 // TODO: add subobject export names here. 1 // FIXME: Handle files with non-absolute paths. 1 // FIXME: We don't know the size of the trampoline, so we can't really 1 // FIXME: When can ToType be a reference type? 1 // FIXME: How are we going to parameterize this? Two obvious options are stay 1 // FIXME: this is redundant with part of setFunctionDefinitionAttributes 1 // TODO: make sure the debug info is synced to GEP. 1 // FIXME: should we even be calling this method if RTTI is disabled 1 // FIXME: This should be type compatibility, e.g. whether 1 // TODO: The hi bits can only be ignored if the difference is guaranteed to be < 32 bytes. This is an unsafe assumption, particularly given 1 // FIXME -- only handles constructors in DeclStmt below. 1 // FIXME: Should be ok if they addresses are identical. But earlier 1 // FIXME: Allow true block to have an early exit? 1 // FIXME: stable encoding for @required/@optional 1 // FIXME: should we print 'b'? At the IR level we cannot be sure if this 1 // FIXME: this case is tricky, so we are just conservative here. 1 // FIXME: We have three different dispatches on decl kind here; maybe 1 // FIXME: This is valid and could be handled by truncating the APInts. 1 // FIXME: getGetElementPtr() actually creates an inbounds ConstantGEP, 1 // TODO: Place under new version once available 1 // FIXME: We should be able to assert that block is non-null, but 1 // TODO: Input character set mapping support. 1 /// TODO: Unify with ClassTemplatePartialSpecializationDecl version? 4 // FIXME: Actually merge here, don't just overwrite. 1 /// TODO: consider moving this to the AliasAnalysis itself. 1 // FIXME: We don't start the lifetime of objects whose initialization we 1 // TODO: can we list target-specific intrinsics here? 1 // FIXME: This is horrible, we should use our own list or something to avoid 1 // FIXME: Better EqualLoc? 1 // FIXME: Maybe we could use a CXXBaseSpecifier as the key and use a single 1 // FIXME: Delete loop from pass manager's queue? 1 // TODO: get rid of this, and rely on pass-by-ref instead. 1 // TODO: The current implementation parses a DXIL file but does not yet produce 1 // FIXME: Forward declarations of Objective-C classes and protocols 1 // FIXME: This works, but doesn't seem very efficient. 1 # FIXME: Use designated initializers to access non-first 1 // FIXME: This is a hack. Ivar lookup should be part of normal 1 // FIXME: Handle structs. 1 // TODO: get and print the raw bytes of the load command. 1 Record.push_back(File.getFileCharacteristic()); // FIXME: stable encoding 1 // FIXME: this currently just calls the matching Type methods 2 /// FIXME: This really should not be in IR. 1 // FIXME: Need strict checking here. 1 // TODO: This is using the RTTI name. Is there a better way to get 1 /// FIXME: This is an unnecessary check on the critical path. Most are root/leaf 1 // FIXME: For now we just create a "trivial" type source info based 1 // TODO: This is less than ideal. Overload this to take a value. 1 // FIXME: implement 3 // FIXME: Handle other special warning flags, like -pedantic. 1 // TODO: validate ROV is used only in PS. 1 // TODO: Check for extraneous machine operands. 1 // FIXME: This ordering seems to be broken. For example: 1 // FIXME: Custom lowering for these operations shouldn't return null! 1 // FIXME: This is a hack. We don't handle temporary destructors 1 // FIXME: We should use a predicate for whether this behavior is true in the 1 // FIXME: If we have lazy external declarations, this will not find them! 1 // FIXME: why not? 1 // TODO: set calling convention 1 #include "llvm/Support/Path.h" // FIXME: Kill when CompilationInfo 1 /// TODO: Walk the entire domtree within this loop, not just the path to the 1 // TODO: we can do better than this 1 /// TODO: Add visitors for other instruction types, e.g. ZExt, SExt. 1 // FIXME: equivalent assert? 1 // FIXME: If the variable has initialization that can't be jumped over, 1 return ArgType(); // FIXME: Is this a known extension? 1 // FIXME: If we end up with a collection of these sorts of Darwin-specific 1 // TODO: Add type cache to ASTContext. 1 // TODO: implement when we find this codepath internally 1 // FIXME: Come up with a 'cleaner' concept. 1 // FIXME: Should we be expanding macros here? My guess is no. 1 // FIXME: Reorder according to DeclNodes.td? 1 /// FIXME: Use a TemplateArgumentList 1 // FIXME: Scan for DeclRefExprs using in the LHS of an assignment. 1 // FIXME: Should reject these. The ARM backend hits this with $lane in a 1 // FIXME: there should be some type checking happening here, I would 1 /// TODO: Hardcode to DW_TAG_variable. 1 //FIXME: we assume that the string data comes from a target that uses the same 1 // FIXME: This can easily happen, if we have a reference to a submodule that 1 // FIXME: If we have any other entity with this name in global scope, 1 // FIXME: Clang doesn't correctly handle -std= when the input language 1 // FIXME: Currently ObjC method declarations are incorrectly being 1 // FIXME: What's a good SWAG number for MaxOffs? 1 // FIXME: Override "preferred align" for double and long long. 1 // TODO: consider generating attributes from hctdb 1 // FIXME: Shouldn't we be able to perform this check even when the class 1 // FIXME: When popping normal cleanups, we need to keep this EH cleanup 1 // FIXME: If this is necessary, we can still try to split 1 // FIXME: We need support for -meabi... we could just mangle it into the 1 // FIXME: Handle loads from strings where the literal is treated as 1 // TODO: implement 1 // FIXME: Check for known structural equivalences via a callback of some sort. 1 // FIXME: move this information to an HTML file in docs/. 1 // FIXME: In theory, there might be new expressions that don't have side 1 // FIXME: Remove this bit. 1 // FIXME: Remove options that generate output. 1 // TODO: Critical-edge splitting. If the optimial insertion point is 1 // FIXME: Copied from ExprEngineObjC. 1 // FIXME: Shouldn't we be trying to do this before we three-addressify the 1 // FIXME: Is division-by-2 the correct step? Should we assert that the 1 // FIXME: Move magic numbers to a better place. 1 // TODO: should we even warn on struct/class mismatches for this? Seems 1 // FIXME: It is not clear whether values in the range should be 1 // FIXME: A CXCursor_AsmLabelAttr should give the location of the label 1 // FIXME: Should we walk the chain of classes? 1 /// FIXME: this is added for dragonegg. Once we update dragonegg 1 // FIXME: This is redundant with -mcpu, why does LLVM use this. 1 // FIXME: This function has an out parameter that returns an 1 // FIXME: Implement dispatch for symbolic pointers. 1 // FIXME: This assert can fail if there's a race between the above check 1 // FIXME: We can just grab the last token instead of storing a copy 1 /// FIXME: Please note that the default implementation here in terms of 1 //TODO:AZ: remove explicit insertion after refactoring is done. 1 // FIXME: this is identical to the ELF one. 1 friend class ASTReader; // FIXME: ASTContext::getInjectedClassNameType is not 1 // FIXME: Template parameter list matters, too 1 // FIXME: Use BundleGroups to track the lock state instead. 1 // FIXME: Remove this pointless fallback mode which causes tests to "pass" 1 // TODO -- handle alpha-renaming of variables 2 // FIXME: Not accurate, the range gets one token more than it should. 1 // FIXME: If the switch is too sparse for a lookup table, perhaps we could 1 // FIXME: Clang's logic should be synced with the logic used to initialize 1 // FIXME: Currently CleanDtorState can be empty here due to temporaries being 1 // TODO: refine the code for getting element type 1 // FIXME: handle protocol headers that are declared across multiple lines. 2 // TODO: complete the assignment cases with primitive types 1 // FIXME: If we have a volatile struct, the optimizer can remove what might 1 Record.push_back(D->getObjCDeclQualifier()); // FIXME: stable encoding 1 // FIXME: Temporary workaround. If the new instruction doesn't 1 // FIXME: we should be able to design DIEEntry reliance on 1 // FIXME: Currently the DataLayout string carries a "preferred alignment" 1 /// FIXME: Pass up a reason why! Invalid operation in i-c-e, division by zero, 1 // TODO: consider moving this hack into SPIRV-Tools as a transformation. 1 // FIXME: This should handle all of the cases that are currently accepted 1 /*FIXME:*/E->getLHS()->getLocStart(), 1 // TODO: we could actually use setProperty and an expression for non-atomics. 1 // FIXME: We should trivially coalesce subregister copies to expose CSE 1 // TODO: It's possible that the *first* return is the divergent one. 1 // TODO: skip duplicate operands. 1 // TODO: check conflict in flags. 1 // TODO: check pointer instead of name 2 // TODO: Change the LLVM backend option maybe? 1 // FIXME: When initializer-list support is added, a distinction is needed 1 // FIXME: We're emitting LSDA info into a readonly section on ELF, even though 1 // FIXME: Add a helper for checking namespaces. 1 // FIXME: use llvm::sys::fs::canonical() when it gets implemented 1 /// FIXME: Add a check for getColumn(). 1 // FIXME: Node sharing is an implementation detail, exposing it is ugly 1 // FIXME: Currently, the number of instructions in a function regardless of 1 // FIXME: What about debug intrinsics? This matches old behavior, but 1 // FIXME: This should probably go away at some point 1 // FIXME: Is this machine dependent? 1 // TODO: handle struct types. 1 Record.push_back(E->getConstructionKind()); // FIXME: stable encoding 1 // TODO: Store the mapping between fixed object IDs and object indices to 2 // FIXME: Perhaps rename OverloadsShown and getShowOverloads() 1 // FIXME: This is 64-bit for DWARF64. 1 // TODO: consider whether this constructor should be restricted to take 1 /// ObjCInterfaceDecl. FIXME - Find appropriate name. 1 // TODO: implement directly, rather than relying on inverse. Inverse is 1 // FIXME: double check this 1 // FIXME: Reorganize TableGen so that build dependencies can be more 1 // FIXME: Can we remove this and have the above BuildCXXConstructExpr check if 1 // TODO: Properly handle tags. "[!!str ]" should resolve to !!str "", not 1 // FIXME: This matches gcc, but shouldn't the visibility be set on the use as 1 From, /*FIXME:ConstructLoc*/SourceLocation(), 1 // FIXME: Opaque type "ConstantBuffer" is only used for an empty cbuffer. 1 // TODO: we could look up template parameter documentation in the template 1 // TODO: Set LateAttrs and StartingScope ... 1 // FIXME: If we wanted to be really friendly we would show why the match 2 // FIXME: Make the type of the result buffer correct instead of 2 // TODO: Refactor ActOnFunctionDeclarator so that we can call only the 1 // FIXME: The current scope is almost... but not entirely... correct here. 1 // TODO: We could use different error codes for each/some to be more 1 // FIXME: Asking for the pointer to a function that hasn't been registered, 1 // FIXME Volatility. 1 // FIXME: Get rid of GRBugReporter. It's the wrong abstraction. 1 // FIXME: we shoul do better than that. 'M' is available. 1 // FIXME: Use a second vreg if instruction has no tied ops. 1 // FIXME: What are we going to do with -V and -b? 1 print("TODO - run Debug config vs. DxilDebug config and verify results are the same") 1 // FIXME: This is not ideal; we shouldn't have to do this copy. 1 // FIXME: The snapshot heap space should persist. But I'm planning to 1 // operands. FIXME: Consider unfold load folding instructions. 1 // FIXME: Is it worth transforming x86_stdcallcc and x86_fastcallcc? 1 // FIXME: Ideally, no further passes should rely on kill flags. However, 1 bool isText = Segment == "__TEXT"; // FIXME: Hack. 1 // FIXME: For resource conflicts in very long non-pipelined stages, we 1 // FIXME: Eventually this shouldn't be needed, as the lexical context 1 // FIXME: TypeSourceInfo doesn't preserve location information for 1 // FIXME: we don't support these right now. 1 // FIXME: This assumes that all lazily declared copy and move constructors are 1 OS << BB->getName() << ", "; // TODO: remove the last "," 1 // FIXME: The definition might not be visible; complain if it is not. 1 // FIXME: For now we don't track NSPanels. object for the same reason 1 // FIXME: Sign extend 1 to all ones if thats legal on the target. 1 // FIXME: If we add support for __ptr32/64 qualifiers, then we should push 1 // FIXME: Standard ref? 1 // TODO: This isn't 100% true. Some personality functions are proper 1 // TODO: Parse other register kinds. 1 // FIXME: Map from variable template specializations back to the template. 1 IndentLevel = IndentLevel - 1; // HLSL Change - TODO: Find the root cause of this issue. 1 // FIXME: Share capture structure between BlockDecl and CapturingScopeInfo! 1 // FIXME: Re-implementing default behavior to work around MSVC. Remove once 4 // TODO: Make this a unique value if supported in PIX, then enable 1 /// TODO: Separate the concepts of declaration contexts and lexical scopes. 1 // FIXME: Do we care about other names here too? 1 // FIXME: This should get its info from the td file, so that we can include 1 // TODO: Verify this is correct. 1 // FIXME: We temporarily return false 1 // FIXME: Don't bother with this if !tok.hasUCN(). 1 // FIXME: Do we want some more target hooks? 1 // FIXME: This loop could be made faster, but it's fast enough for now. 1 // FIXME: Add Profile support! 1 // FIXME: Is the DeclContext correct? 1 // FIXME: We should call addHiddenDecl instead, to add the member 1 // FIXME: If someone forgets an @end on a protocol, this loop will 1 // FIXME: Reference? 1 // TODO: Remove these once they're gone from DILexicalBlockBase. 1 // TODO: Consider a more specific warning for this case. 1 // FIXME: Assert the answer is sane once we handle .macro correctly. 1 // FIXME: We shouldn't build ImplicitValueInitExprs for direct-initialization. 1 // FIXME: Test alias template mangling with MSVC 2013. 1 // TODO: Add DebugTypeEnum. 1 // TODO: If anyone cared, we could track __label__'s, since we know that you 1 // FIXME: Add a specification reference if available. 1 // FIXME: Evaluating values of large array and record types can cause 1 // FIXME: Do this more cleverly if both values are known constants? 1 // TODO: OptimizeSequences could generalized to be Interprocedural. 1 // FIXME: Suggest parens if the expression needs them. 1 // FIXME: Just ignore the .file; it isn't important enough to fail the 1 // FIXME: This predicate is a helper to QualType/Type. It needs to 1 // FIXME: Ideally Expr::IgnoreParenNoopCasts should do this, but it doesn't do 1 // FIXME: This is a hack; find a cleaner way to integrate this into the 1 // FIXME: If necessary, add a bit to indicate that this ObjCInterfaceDecl 1 // FIXME: Handle multibyte characters in the source line. 2 // FIXME: ideally this would use EmitAnyExprToMem, however, we cannot do so 1 // FIXME: For constant StartVal, we should be able to infer 1 // TODO: Is this worth it if we're creating a less aligned memcpy? For 1 // FIXME: Not testable. 1 /// FIXME: Accept non-unit stride as long as SCEV can reduce BECount * Stride. 1 // TODO: Do something to preserve pointer's previous value. 1 // TODO: if it's internal and only used in direct calls, we could handle this 1 // FIXME: __attribute__((nonnull)) can also be applied to: 1 // TODO : SCCP does not handle vectors properly. 3 // FIXME: We need to update the call graph here to account for any deleted 1 // FIXME: Comment on the meaning of the arguments, when 'St' may not 1 // FIXME: ? 1 // FIXME: This is a somewhat arbitrary restriction. We should be using 1 // FIXME: We can't check this via lookahead before we consume the token 1 // TODO: handle colmajor/rowmajor 1 // TODO: K&R warning: "traditional C rejects string constant concatenation" 1 // FIXME: Implement error handling that doesn't kill the host program! 1 // FIXME: Initialize the Near member for each memory group to avoid 1 // FIXME: Assembler behavior can change with -static. 1 // FIXME: Explain why the special member can't be constexpr. 1 // FIXME: Use something more efficient than normal lookup for using 1 // FIXME: This does not belong here. 1 // FIXME: Restrict this to the nodes where it's valid. 2 // FIXME: We should not warn for duplicates in diamond: 1 // FIXME: Preserve buffers until resolveRelocations time to work around a bug 2 // FIXME: We probably want to add that. 1 // FIXME: Add additional diagnostic info about class etc. which prevents 1 /// FIXME: Verify that this is needed. 1 #include "clang/Lex/Lexer.h" // TODO: Extract static functions to fix layering. 2 // FIXME: Totally just a placeholder name to get the algorithm working. 1 case clang::attr::HLSLInstance: //TODO - test 1 // FIXME: Grouping uses by function is way too aggressive, so we should have 1 // FIXME: These are handled by the AArch64 scalar code. 1 // TODO: Eventually this could be subsumed by EvaluateInDifferentType. 1 // FIXME: Make this user configurable. 1 // FIXME: Implement UTT_IsDestructible and UTT_IsNothrowDestructible. 1 self.add_valrule("Meta.WellFormed", "Metadata must be well-formed in operand count and types.") # TODO: add string arg for what metadata is malformed (this is emitted from a lot of places and provides no context whatsoever) 1 // TODO: InitializationSequence::Perform in SemaInit should take the arity of incomplete 1 // FIXME: If there's no viable conversion to the template parameter type, 1 // FIXME: BI__builtin_clrsbl 1 // FIXME: We'd like to put these into a mergable by content, with 3 // FIXME: This should do something useful even if the types don't match, 1 // FIXME: Handle multibyte characters. 1 // FIXME: Parent for the following is CXIdxEntity_Unexposed with no USR, 2 // FIXME: Also check the bitwidth is odr-equivalent, if any. 1 << /*FIXME:has side effects=*/0 2 assert(!DD->useSplitDwarf() && "TODO: dwo files can't have relocations."); 1 /*FIXME:ConstructLoc*/ SourceLocation(), ToType, SCS.CopyConstructor, 1 // TODO: Serialize callee saved info. 1 // TODO: bitcast(relocate(p)) -> relocate(bitcast(p)) 1 // FIXME: We should be able to perform code-completion here even if 1 // FIXME: Use a PointerInt wrapper for this? 1 // FIXME: parameter should be treated as 5-bit signed literal 9 // FIXME: We follow the logic of C++0x [temp.deduct.type]p22 here, 1 // FIXME: Is this needed anymore? 1 // FIXME: Setting "FirstInDeclGroup" in CXCursors is a hack that only works 1 // FIXME: Consider if we need to output qualifiers for 'Class

'. 1 # FIXME: There should just be an isNull method. 1 // FIXME: Deal with ambiguities cleanly. 1 // TODO: implement unsigned bound from below (known one bits) 1 // FIXME: These might be better as path objects. 1 // FIXME: MD_tbaa_struct and MD_mem_parallel_loop_access should also be 1 /// FIXME: Perhaps we should change the name of LateParsedDeclaration to 1 // FIXME: this is invalid for WindowsCE 1 // TODO: __attribute__((unused)) templates? 1 // TODO: update linkageName correctly. 1 // FIXME: We should have a more generalized location printing mechanism. 1 // TODO: Use enums rather than uint32_t. 3 // FIXME: Eventually we want to actually delete these indexes. 1 // FIXME: This is wrong for the ARM ABI, where some other module may have 1 // FIXME: doing this here is really ugly. 1 // FIXME: We always rebuild the return statement because there is no way 1 // FIXME: Provide support for variadic template functions. 1 // FIXME: Remove this hack when we support symbolic truncation/extension. 1 // TODO: Reconsider this special case. 1 // FIXME: Enable this once we've figured out how to correctly transfer 1 /// FIXME: Currently this will ignore parentheses and implicit casts on 1 // (TODO: evaluate cost vs profit, consider higher thresholds) 1 // FIXME: Matching against the type-as-written can't work here, because the 1 // FIXME: this first dash, "-", is for (Mode & S_IFMT) == S_IFREG. 1 // FIXME: Add iterators that abstract over the small and large form, and then 1 // FIXME: should we retrieve TypeSourceInfo? 1 /// FIXME: Generalize this for all values rather than just instructions. 1 // FIXME: Check for unresolved forward-declared metadata references 1 // FIXME: Deal with vectors as array subscript bases. 1 // FIXME: Emit a proper error 2 // FIXME: What is the correct representation? 1 // specializations. FIXME: Do not generate these implicit declarations. 1 /// FIXME: The defaults need to be removed once all of 4 // FIXME: Int128/UInt128 support, which also needs to be introduced into 1 // TODO: Allow printing of non sequentially numbered MBBs. 1 // FIXME: These are older forms of multiarch. It's not clear that they're 2 // FIXME: Assumes vectorcall is in use. 4 // TODO: Add profile stuff here 1 // FIXME: possibly refactor with logic in CXStoredDiagnostic. 1 /// TODO: Move this out of TargetLowering.cpp. 1 // FIXME: Migrate DependencyFileGen, DependencyGraphGen, ModuleDepCollectory to 1 // FIXME: This is hacky at best... if we had a bit more explicit information 1 // FIXME: special case for the bogus "##" comment string in X86MCAsmInfoDarwin 1 // FIXME: non-iOS ARM FastISel is broken with MCJIT. 1 // FIXME: Currently, this only tests that we don't exit with an error if a 1 // FIXME: Create some kind of ExplicitInstantiationDecl here. 1 // FIXME: If any of the declarations is from an AST file, we probably 1 // TODO: Should this check be a part of the CString checker? 1 // FIXME: Alignment? 1 // TODO: -fpreprocessed mode?? 1 // TODO: Handle TRUNCSTORE/LOADEXT 1 return State; // TODO: change to assert(RS); after realloc() will 1 //TODO: during final testing consider to remove. 1 // FIXME: a better alternative might be to store the unsafe stack pointer 1 // TODO: Could compute known zero/one bits based on the input. 1 // FIXME: There is no good reason for the domtree to require a print method 1 // FIXME: Check for C++ support in "to" context. 2 // FIXME: We should handle StmtExpr, but that opens a MASSIVE can of worms. 1 // FIXME: Remove newline. 1 // TODO: Subsume this into EvaluateInDifferentType. 1 // TODO : When we support true half type, these suffixes should be treated differently from f/F 1 // FIXME: check whether the next token is '<', first! 1 // TODO: parse the other register flags. 1 /// TODO: Separate from MDNode, or otherwise drop Distinct and Temporary 1 // FIXME: The following two loops would not be duplicated 1 // FIXME: Teach the constant evaluator to deal with the non-dependent parts 1 // FIXME: If the statement-expression terminated due to 'return', 1 // FIXME: It might be reasonably to discount the cost of instructions leading 1 // TODO: Ideally we would run this after inlining everything at the end of compile. 1 // FIXME: Provide a source location here even though there's no 2 // FIXME: Benchmark whether memoization of non-pointer typed nodes 1 // FIXME: Check for missing '()' if T is a function type? 1 // FIXME: The C++ standard doesn't say anything about this. 1 // FIXME: Find some way to avoid the copy? 1 // FIXME: is this necessary or correct? This handles the non-Region 1 // TODO: If there's a satisfactory reason, add a target hook for 1 // FIXME: Lambda init-captures. 1 // FIXME: Cache this lookup. 1 // FIXME: avoid copy. 3 // FIXME: Pass Global's alignment when globals have alignment 1 // FIXME: Provide support for member initializers. 1 // FIXME: Check for explicit specialization? 1 // FIXME: This check is dubious. It's used to get around a problem where 1 /*TInfo=*/nullptr, // FIXME: Do ObjCAtDefs have declarators ? 1 // FIXME: should we consider SymbolRef wrapped in CodeTextRegion? 2 // FIXME: This is not very precise. Here we just check to see if the 1 // FIXME: We may need different solutions, depending on the symbol 1 // FIXME: This really, really shouldn't be happening. 1 #self.add_valrule("Uni.ThreadSync", "TODO - Thread sync operation must be in non-varying flow control due to a potential race condition, adding a sync after reading any values controlling shader execution at this point") 1 /// FIXME: Generalize this for other kinds of declarations. 1 // TODO: This method is currently not recursive. We can use recursion if 1 // TODO: improve this to provide a 'peek' at intermediate types, 1 // FIXME: This is vastly incorrect for patterns with multiple outputs 1 // FIXME: This should not be necessary, but otherwise the argument seems to be 1 // FIXME: We shouldn't be eagerly stat'ing every file named in a module map. 1 // FIXME: Enumerated types are variable width in straight AAPCS. 1 // TODO: it would be great to have a fixit here, since this is 1 // TODO: This is dead if we never emit the cleanup. We should create the 1 // FIXME: chdir is thread hostile; on the other hand, creating the same 1 // TODO: Currently used for context chains when limiting debug info. 1 // FIXME: In this case, the declaration should only be visible if a module 1 // FIXME: Shouldn't use pref alignment if explicit alignment is set on Fn. 1 // FIXME: These template arguments are temporary. Free them! 3 // FIXME: Setting the CommentStream in the InstPrinter is problematic in that 1 // FIXME: consider the case where RHS is a range [1, 0) and LHS is 1 // TODO: Add a predicate for this. 1 // FIXME: We know if the type names can use 7-bit ascii. 1 // TODO: better diagnostics for this case. Suggesting the right 1 // TODO: Once -module-dependency-dir works with -frewrite-includes it'd be 1 // FIXME: We should be able to assert this for FunctionDecls as well! 1 // FIXME: Currently -fsanitize=leak is silently ignored in the presence of 1 // FIXME: Would this be relevant for ObjC object pointers? Or block pointers? 1 // FIXME: This is hacky, the code-completion point should probably be 1 // TODO: Is there a credible use case with no AS->MS payload? 1 // FIXME: Currently, documentation is generated as-needed due to the fact 1 // FIXME: Check address space sizes here 1 // FIXME: We can actually do this whether or not the name is qualified, 1 // FIXME: What about other cases where an import extends a redeclaration 1 // FIXME: add checker visit. 1 // FIXME: DefaultTargetTriple is used by the target-prefixed calls to as/ld 1 // FIXME: Enable when we actually support decimal floating point. 1 // TODO: implement this check, if users actually depend on it 1 // FIXME: Should translate token flags to a stable encoding. 1 // FIXME: For now take the conservative approach that we only 1 // TODO: We should constant-evaluate the initializer of any variable, 1 // FIXME: It may be more efficient to use a topological-ordering 1 // FIXME: Autogenerate this list 1 // FIXME: Lift this into part of the InstVisitor. 1 // FIXME: In the long-term, when we test more than source locations, we may 1 // FIXME: Due to the performance of the probability and weight routines in 1 // TODO: provide better source location info. 1 // TODO: set debug info. 1 // TODO: We could do a lot better than this if code actually uses this. 2 // FIXME: remove this once PR18663 has been properly fixed. For now, 1 // FIXME: Pass in separate source locations for '&' and identifier. 1 // of the class template. FIXME: Diagnose or assert if this fails? 1 // TODO: lazy load for perf 1 // FIXME: Clang uses it, but it's bogus, since neon defaults to vfpv3. 1 // FIXME: A recognised library function may not be directly in an extern "C" 1 // FIXME: We really would like this in target specific code rather than 1 // TODO: recover from mistakenly-qualified operator declarations. 1 // TODO: falling all the way back to objc_setProperty here is 1 // FIXME: DependentSizedArrayType 1 // FIXME: generated code sucks. 1 /// TODO: This isn't fully implemented yet. 1 // FIXME: we can probably make a more useful statement about non-code 1 // TODO: Handle vectors 1 // FIXME: This option takes exactly two strings and should be allowed anywhere 1 /// FIXME: We don't really need a vector here. 1 // FIXME: Eventually replace RegionRawOffset with this class. 1 // TODO: We can optimize the codegen by emitting OpCompositeExtract if 1 // TODO: It would be nice to test consistency as well 1 // FIXME: Actually, they don't. We seem to have accidentally invented the 1 ;; Determine whether FIXME: explain better 1 # FIXME: Hack? 1 // FIXME: recursive_directory_iterator should be more robust. 1 // FIXME: It would be slightly more efficient in the non-dependent case to 1 // FIXME: GCC allows this. We should probably either implicitly delete 1 // FIXME: Remove this when SCEV gets smarter about them. 1 // FIXME: This is really slow. 1 // FIXME: We don't have complex SValues yet. 2 // FIXME: It looks like gas supports some cases of the form "foo + 2". It 1 # TODO: read xml and return xml root 1 // TODO: duplication! Same as the one in DeclResultIdMapper.cpp 1 // FIXME: Have Ops be (ValueEntry, Multiplicity) pairs, simplifying this. 1 // FIXME: This is a horrible name. 1 // FIXME: This is gross. It would be best not to embed specific details 2 // FIXME: How can we ensure this stays in sync with relevant clang-cl options? 1 // FIXME: This should really be 1 // FIXME: ParmVarDecls that are part of a function type of a parameter of 1 DxcOutputObject::ErrorOutput(CP_UTF8, // TODO Support DefaultTextCodePage 3 // FIXME: Why does convertToThreeAddress() need an iterator reference? 1 // FIXME: There is no way to detect calls given current instrumentation. 1 // FIXME: Much of this should eventually migrate to CXXAllocatorCall. 1 // FIXME: Variadic arguments are not handled at all right now. 1 // FIXME: Can we do this in all cases? 1 // FIXME: Should we retain the subframework paths here? 1 // FIXME: Note, this is a hack, the LLVM backend doesn't actually use these 1 // FIXME: Some bits are legal for atomic stores; needs refactoring. 1 // FIXME: This needs testing w/ member access expressions. 1 // FIXME: It may be possible to remove the isKill() restriction once PR18663 1 // FIXME: We can probably just have some magic in Environment::getSVal() 1 // TODO: Replace uint32_t with an enum for encoding. 1 // FIXME: Determine if there's a way to say that `F' is the callee or 1 #include "clang/Lex/HeaderSearch.h" // TODO: Sema shouldn't depend on Lex 1 // FIXME: "hideous" code from Sema::LazilyCreateBuiltin 1 // FIXME: this involves duplicating earlier analysis in a lot of 1 // TODO: add number at end. need format fn error? 1 // FIXME: The triple class should directly provide the information we want 1 // FIXME: make sure these arent' critical edges. 1 // TODO: Can we improve YAMLIO to permit a more accurate diagnostic here? 1 // FIXME: If a load is used only by extractvalue instructions then this 1 # TODO: Add a line "See the results folder for more." 1 // TODO: Add a Sema warning that MS ignores bitfield alignment in unions. 2 // FIXME: Re-evaluate this section; maybe only store InputFile IDs instead 1 // TODO: I temporarily use a DebugTypeArray for a matrix type. 1 // FIXME: Remove MSVC from this list once things work. 1 // FIXME: 3 // TODO: support other types. 1 /// FIXME: This should be kept internal to SemaTemplateDeduction. 1 // TODO: We could do other simplifications, for example, turning 1 // FIXME: This should come from the target. 1 // TODO: Update Description for DXIL 1 StringRef Prefix = ""; // FIXME: This isn't the correct default prefix. 1 // FIXME: Because of #pragma vectorize enable, the passes below are always 1 // FIXME: attribute locations. 1 // TODO: add correct include directives 1 EmitNounwindRuntimeCall(F, args); // FIXME: throwing destructors? 1 // FIXME: We should use a narrower constant when the upper 1 // FIXME: This will also mark enums with braces in the arguments to enum 1 // FIXME: Infer regclass from instruction alone. 1 // TODO: If important, we could handle the case when the BitsToClear are 1 // FIXME: It would be better to have something like shrinkToUses() for 1 // FIXME: Store Prefix and Suffix (or PrefixLength and SuffixLength to 1 // FIXME: Delete this structure. 1 // FIXME: CanonType is not actually the canonical type, and unfortunately 1 // FIXME: The following comment is out of data and the DataLayout is here now. 1 // FIXME: This should be NumberOfRvaAndSizes to match the COFF spec. 1 /// TODO: Detach from DerivedTypeBase (split out MDEnumType?). 1 // TODO: other front-end error. 1 // FIXME: We're looking into outer scopes here, even when we 1 // FIXME: It's really annoying that we don't have an 1 // FIXME: This is a hack. What we really should do is create a user 2 // FIXME: Exclude the optional ud-suffix from the highlighted range. 1 // FIXME: This does not work for vectors on most targets. Sign- 1 // TODO: check if we can allow reordering also for other cases than 1 // FIXME: It may be possible to remove the isKill() restriction once PR18663 1 // FIXME: Move OnlyLocalDecls, UseBumpAllocator to setters on the ASTUnit, we 2 // FIXME: Find a better way to deal with collisions between these 1 // TODO: use hlsl namespace for the most of this file. 1 /* FIXME: LWP */ 1 // FIXME: Doesn't print access specifiers, e.g., "public:" 1 // FIXME: This function should be renamed to indicate that it is not just an 1 // FIXME: computing the declaration context might fail here (?) 1 // FIXME: This should be looking at E, not M. 1 // FIXME: Print the possible common types by printing the return types of 1 // FIXME: Are there other cases where we can avoid emitting an initializer? 1 // TODO: Program headers. 1 // FIXME: Checking for Arch here to filter out bogus triples such as 1 // FIXME: Stable encoding 1 // FIXME: DependentSizedExtVectorType 1 // FIXME: Figure out cases where this is not true, and add projections 1 // FIXME: This is probably where inheritance would be a problem. 1 // FIXME: It's quite possible for different conversions to see 1 // FIXME: size expression and attribute locations. 1 // FIXME: use the loc for the template name? 2 // TODO: provide a hook for this in GCStrategy. There might be some weird 1 // FIXME: Remove this. 3 // FIXME: This is, unfortunately, linear time. 1 // TODO: Use a more targeted data structure. 1 // FIXME: Try to simplify vectors of integers. 2 // FIXME: Use canCopyArgument() when it is fixed to handle lazily declared 1 // FIXME: If this is actually a C++11 attribute, parse it as one. 1 // FIXME: If DiagDecl is an implicitly-declared special member function, we 1 // FIXME: Implementation of a class with no @interface (legacy) does not 1 // FIXME: mingw-w64-gcc emits 128-bit struct as i128 1 // FIXME: we might need to merge the number of positive or negative bits 1 // FIXME: We don't support versions < 4. We should error on them. 1 // FIXME: Change to an error if non-default in 4.0. 3 // FIXME: There are enough /bytes/ between the endpoints of the edge, but 1 // TODO: check other case uninitialized output is allowed. 1 // TODO: calculate the function call result. 1 bool DontSearchCurDir = false; // TODO: set to true if -I- is set? 1 // with the same value. TODO: Reorganize this. 1 // FIXME: Should we generate a new load for each use of 'this'? The 1 // FIXME: If the source is a prvalue, we should issue a warning (because the 1 // FIXME: Portability. Filename concatenation should be in sys::Path. 1 // FIXME: Do we need any handling for ARC here? 1 // FIXME: Using a SFINAETrap for this is a hack. 1 // TODO: Should we use 1 bit for booleans or 32 bits? 1 // FIXME: Check if the induction PHI will always be the first PHI. 1 // FIXME: this is profitable (for compiler time) to do at -O0 too, but 1 var goodToDoLine = /TODO: HLSL #[0-9]+ - [0-9a-zA-Z]+/; 1 // FIXME: derive from "Target" ? 2 "FIXME: AST inputs not yet supported here!"); 4 // FIXME: The C++0x standard does not clearly say this is ill-formed, 1 // FIXME: we may want to go through inttoptrs or bitcasts. 1 // FIXME: _float128 and _Decimal128 are (SSE, SSEUp). 1 /// FIXME: Should this be looking through bitcasts? 2 // FIXME: Err on non-%xmm* registers 1 // FIXME: Do we also need to handle property references here? 1 // TODO: enable this. 1 // FIXME: For now traverse explicit instantiations here. Change that 1 // FIXME: Imaginary. 1 // FIXME: Remove the second disjunct when we support symbolic 1 // FIXME: An extern template instantiation will create functions with 1 // FIXME: Remove this! 1 // FIXME: isBlockByrefVariable should be reformulated in terms of complex 1 // FIXME: We shouldn't have to pass in the path info. 1 Assumptions (TODO: shouldn't need to assume these.): 1 // FIXME: This isn't true; we can find a tag name hidden by an ordinary 1 // FIXME: use ready cycle instead of height 1 // the cost of some possible performance loss. TODO: it would be nice to 1 // FIXME: Refactor this check somehow? 1 // FIXME: For the linker case specifically, can we safely convert 2 // FIXME: Add tests for other types with getDecl() (e.g. RecordType) 1 // TODO: Clear the 'needs rewrite' flag 1 // FIXME: Conditionally-supported behavior should be configurable in the 1 // FIXME: is there a more intelligent way to check lock/unlock functions? 1 // FIXME: We should support doing a MUL in a wider type 2 /// FIXME: We shouldn't need an explicit TargetTriple parameter here, and 1 // FIXME: This loses the as-written tag kind for an explicit instantiation. 1 // FIXME: we should be able to hoist loads with no other side effects if 1 // FIXME: To the extent that this is meant to cover the Itanium ABI 1 // FIXME: Forward-declared enums require a TSK_ExplicitSpecialization 1 // FIXME: We should have a general way to reason about operator 1 // FIXME: This should probably live in ValueTracking (or similar). 1 // FIXME: Remove once llvm optimizes this to the faster version without hints. 1 // FIXME: We should also incorporate the detected target features for use 1 // TODO: does gas allow multiline string constants? 1 // FIXME: Teach targets to deal with subregs. 1 // FIXME: Check against AS_none is an ugly hack to work around the issue that 1 // FIXME: Handle other CFGElement kinds. 2 // FIXME: This should probably only return true for NUW. 1 // FIXME: This could be a struct type giving a default visibility different 1 // FIXME: how can TSI ever be NULL? 2 // FIXME: Remove once we can model DeclGroups and their appropriate ranges 1 // FIXME: Handle this case correctly. 1 // FIXME: Handle embedded spaces in one iteration. 1 // FIXME: Add this assertion to help us flush out problems with 1 EXPECT_EQ(Full.shl(One), Full); // TODO: [0, (-1 << 0xa) + 1) 1 /*FIXME:*/From->getLocStart(), 1 // TODO: this is very conservative. 1 /// TODO: This should likely be refactored to resememble the wrappers in 1 // FIXME: Multiple variables declared in a single declaration 2 // (VD) - FIXME: Missing from the standard: 1 // FIXME: StringRef may not be the right type to use as a result for this. 1 # FIXME: Operator precedence!! 1 // TODO: Use a single function for both constant and dynamic offsets? Could do 1 // FIXME: This should be eliminated. What we want to do is make this part of 1 // FIXME: This can find a module not part of ModuleName, which is 1 // FIXME: We prefer to print the size directly here, but have no way 1 // FIXME: handle sseregparm someday... 1 // FIXME: For finer-grain optimization, we need intrinsics to have the same 1 // FIXME: This is a hack. We need a better way to handle substituted 1 // FIXME: The C++11 standard doesn't actually say that this is a 1 # FIXME: File a CMake RFE to get a properly supported version of this 1 // TODO: We can handle "Or Val, Imm" iff this OR is equivalent to an ADD. 1 // TODO: check for an incompatible signature? 1 // FIXME: Include a description of the path to the volatile subobject. 1 // TODO: UpdateStatus for each gather call. 1 DEF_TRAVERSE_DECL(ObjCCompatibleAliasDecl, {// FIXME: implement 2 // FIXME: Make this work for MSVC. 2 // FIXME: Diagnose overflow. 3 // FIXME: It's rather inefficient to have to split into two vectors 1 // FIXME: Check this incrementally while visiting !dbg attachments. 1 // FIXME: base 36 1 # FIXME: Wrong size. 2 // TODO - how to get signature? 3 // FIXME: Unsigned version of ptrdiff_t? 1 // FIXME: Should we be checking these flags on the primary context? 1 // FIXME: If the operand types don't match the type of the divide 1 // FIXME: This will crash the analyzer if an allocation comes from an 1 // FIXME: Inlining of temporary destructors is not supported yet anyway, so 1 // FIXME: Should we build redeclaration chains for function parameters? 1 // FIXME: Is this the best way to handle class receivers? 1 // FIXME: A '<' can only start a template-id if it's preceded by an 1 // TODO: Replace opcode type with an enum, when it is available in 1 // FIXME: types 1 // FIXME: Replace with a general scheme to determine 2 // TODO: Target informations may give a more accurate answer here. 1 // TODO: We can do more to deduce information in OpBitCast. 1 // TODO: consider using NameInfo for diagnostic. 2 // FIXME: have LockFileManager return an error_code so that we can 1 // FIXME: Handle types correctly 1 // TODO: There a number of local optimizations which could be applied here 1 // FIXME: Include the type in the argument list. 1 // FIXME: Find a better way to find these instantiations! 1 // FIXME: Assert that we aren't truncating non-padding bits when have access 2 // FIXME: We expect to find the dispatch quickly, so this will probably 1 // TODO: If either operand is a single element and the multiply is known to 1 // TODO: Allow scope specification search when 'declare reduction' is 1 // FIXME: Don't emit unreachable code. 1 // FIXME: Canonicalization? 1 // FIXME: Why are we trying to remove files that we have not created? For 1 // FIXME: If the destructor has a body that could throw, and the newly created 1 // FIXME: Modules will have trouble with this. 1 // FIXME: We should use instsimplify or something else to catch calls which 1 // TODO: Handle other composite types. 1 // FIXME: The expression inside a CXXDefaultArgExpr is owned by the 1 // FIXME: Maybe we should store the property identifier here, 1 # FIXME: Document this assertion in API. 1 // TODO: fmin(nnan x, inf) -> x 1 // TODO: Reduce the weight by exploiting nsw/nuw? (Could do much better than 1 // TODO: Handle ordered instructions 1 // FIXME: Should we detect this at module load time? It seems fairly 1 // TODO: Determine if this is really the best way to get the matrix/vector specialization 1 // FIXME: We have no way of representing inherited dependent alignments 1 // TODO: Since this is a prefix match, perform a binary search over the 1 // TODO: So far we are just going one level down; ideally we'd need to 1 // FIXME: This is wrong in the case where the previous declaration is not 1 // FIXME: Produce a better diagnostic if the '[]' is unambiguously a 1 // FIXME: a lot of the following diagnostics would be improved 1 // TODO: Currently we handle only loops with 1 induction variable. 2 // FIXME: Remove this in 4.0. 2 // FIXME: recurse? 1 /// TODO: Remove these and update code to use \a DILexicalBlock directly. 1 // Ubigraph Visualization. FIXME: Move to separate file. 1 // FIXME: C does not permit promotion of a 'long : 3' bitfield to int. 1 // FIXME: We really _ought_ to insert these value numbers into their 1 // looking at subtyping relationships. FIXME: Future patch. 1 // FIXME: these are redundant if CmpInst < BinaryOperator 1 // TODO: Adding lifetime intrinsics isn't easy here, have to analyze uses. 1 // FIXME: Are there other cases which require instantiating something other 1 // TODO: Replace 2u and 3u with valid flags when debug info extension is 1 # FIXME: maxsize is inclusive 1 // TODO: Actually use the failed-deduction info? 1 // TODO: Visit blocks in global postorder or postorder within the bottom-up 1 /* TODO: parse local header extra data when local_header_comp_size is 0xFFFFFFFF! (big_descriptor.zip) */ 1 // FIXME: this only removes the unneeded end_sequence if the 1 SourceLocation TemplateKWLoc; // FIXME: retrieve it from caller. 3 // FIXME: Use the directory info to prune this, before doing the stat syscall. 1 # FIXME: Record some information on the lit configuration used? 1 // TODO: enable this. 1 // FIXME: We never break before the macro name. 1 // FIXME: This function should take an LValue as an argument. 1 // FIXME: Once this test starts breaking we can test APValue::needsCleanup 1 // TODO: More sophisticated analysis to separate dynamic from static branching? 1 // FIXME: Add documentation. 1 /// FIXME: This member, along with the QualifierLoc, could 1 else // TODO: Remove with llvm 4.0 2 // FIXME: Error out if there are unresolved relocations. 1 // FIXME: We can consider lazily symbolicating such memory, but we really 1 // FIXME: Template type parameters! 1 // FIXME: This wouldn't be true in LTO with a -g (with inlining) CU followed 1 // TODO: this could be special cased for common tokens like identifiers, ')', 1 // FIXME: Technically specifying a precision or field width here 2 // FIXME: If conversion shouldn't need to violate this rule. 1 // FIXME: avoid the fake decl 1 // FIXME: This heuristic can cause weird results if the enum was extended 1 // FIXME: The current algorithm doesn't actually provide a strong guarantee 1 // FIXME: This extensively assumes that 'char' is 8-bits. 1 // FIXME: handle symlinks that cross file systems 2 // FIXME: Modify API to hide this math from "user" 1 // TODO: should be rewritten using SymExpr::symbol_iterator. 1 // FIXME: Uncomment once alignof is enabled. 1 // TODO: DenseMap, ... 1 // FIXME it is not obvious how this should work for alignment. 2 // FIXME: We should extend this to work for vectors too. 1 // FIXME: Support macros with the same name as a keyword here. 1 // FIXME: Dump SourceLocation. 1 // FIXME: This should be generalized to more than just the AlignedAttr. 1 // FIXME: This warning is disabled in cases where it shouldn't be, like 1 // TODO: add processing for other clauses. 1 return; // FIXME: Emit a warning? 1 // FIXME: Yet another place we really should bypass this when 1 // FIXME: SubArch values were simplified to fit into the expectations 1 // FIXME: DelayTypeCreation seems like such a hack 1 // TODO: Tag resolution. 1 // FIXME: This means that pretty-printing the final AST will produce curly 1 // FIXME: Need a way to preserve CFG analyses here! 1 // FIXME: This isn't wonderful, because we don't know whether we're actually 1 // TODO: If we see testcase with multiple ExitingBlocks can be deleted 1 // TODO: suggest replacing given type with expected type 1 // FIXME: Support -meabi. 1 #self.add_valrule("Uni.NoUniInDiv", "TODO - No instruction requiring uniform execution can be present in divergent block") 1 // FIXME: diagnose if target does not support protected visibility 1 // FIXME: This is a hack so that we can override the preamble file during 1 // FIXME: Check that IL isn't already the semantic form of some other 1 // now, just assume such a call initializes all variables. FIXME: Only 1 // FIXME: This is just a wrapper around throwing an exception. 1 // FIXME: not clear how to mangle this! 4 // FIXME: Find a .td file format to allow for this to be represented better. 1 // FIXME: check if target symbol exists in current file 1 // TODO swap: fp_control_t fpu_fcw; 1 // FIXME: Should this really start with a size of 1? 1 // TODO: structure this as an analysis pass, cache the result for subloops, 1 // FIXME: Parts of this are duplicated in the backend, unify this somehow. 1 // TODO: The dominator check is too strict 1 // FIXME: This is a horrible hack and should be processed via 1 // FIXME: Switch on all declaration kinds. For now, we're just going to 1 // TODO: We might want to insert a new base object relocate and gep off 1 // TODO: We need to estimate the cost of intrinsic calls. 1 // FIXME: C++0x [temp.param]p9 allows default template-arguments 1 // FIXME: If we could restructure the CFG, we could make a common pred with 1 Record.push_back(E->CaptureDefault); // FIXME: stable encoding 1 // FIXME: In some cases, we can be smarter about this. 1 // FIXME: Set CXX-structors flag. 1 // TODO: implement all other actions. 1 // FIXME: Type and constness constraints could be lifted, but we have to 1 // FIXME: If this happens due to an undeclared identifier, treat it as 1 // FIXME: We should probably handle this case 1 // FIXME: Should we put the new global into a COMDAT? 1 // FIXME: Check for =delete/=default? 1 // FIXME: Will we ever have proper type location here? Will we actually 1 // FIXME: Make the type of the result buffer correct instead of 4 // FIXME: we're faking the locations of the commas 1 // FIXME: It would be nice to be able to send the argument to the 1 // FIXME: should probably be an error. 1 // FIXME -- should only fully remove if the attribute refers to 'this'. 1 - Copy over a copy of the Repository Directory. (TODO: Prefer to ensure that 1 // FIXME: Support ObjCEncodeExpr, MakeStringConstant 1 // TODO: Propagate nothrowness for implicitly declared special members. 1 //TODO: This should include some way of selecting which runtime to target. 1 // FIXME: It would be nice to have information about subtypes of invalid type 1 // FIXME: All of this out-of-bounds checking should eventually be refactored 1 // TODO: kill any unnecessary computations done for the size 1 // FIXME: Hack to work around cast weirdness. 1 // TODO: enalbe this once we introduce precise master option 1 "Aaa(\n" // FIXME: There shouldn't be a linebreak here. 1 // TODO: Is this okay? What if one of the samplers in the table is a comparison sampler? 1 // TODO: We don't have type information about the remaining arguments, because 1 // TODO: Handle "int posix_memalign(void **, size_t, size_t)" 1 // TODO: Simplify preds to not branch here if possible! 1 // FIXME: In C++, enum types are never integer types. 3 // FIXME: We lose macro args info with delayed callback. 1 // TODO: LValue to RValue cast was all that CanConvert (ValidateCast) did anyway, 1 // FIXME: This is really slow. 1 case clang::attr::HLSLNumThreads: //TODO - test 1 /// FIXME: comparing each element of the old and new MaxPressure vectors here is 1 // FIXME: retrieve TemplateKWLoc from template-id annotation and 1 // FIXME: This ignores many potential bugs (). 1 // TODO: Update linkageName using astContext.createMangleContext(). 1 Record.push_back(E->getIdentType()); // FIXME: stable encoding 1 // FIXME: This is checking that our DynamicTypeInfo is at least as good as 1 // FIXME: Diagnose overflow. 1 // FIXME: Ignore result? 1 // TODO: until an interface to file access is defined and implemented, simply fall back to pure Win32/CRT calls. 1 // TODO: Current limitation: Since we split the inner loop latch at the point 1 // FIXME: Bundle this with other CFG-preservation. 1 /// TODO: Delete; they're not really related. 2 // FIXME: Split out option groups. 1 // TODO: Is there a way to get a program-wide unique name for a 1 /// TODO: Merge with directory/file node (including users). 1 // FIXME: DependentNameType 1 // Offset of an array sub-field. TODO: Should we allow vector elements? 1 // TODO: We should be able to handle cases where the SV_OutputControlPointID 1 // FIXME: Visit expressions. 1 pHandle->SetCompType(CompType::getF32()); // TODO: Need to handle all types 1 // FIXME: Remove the defined-in-system-headers check. clang's limits.h 1 // FIXME: Remove these and use the ObjCContainerDecl/DeclContext. 1 // FIXME: The alignment of these trailing comments might be bad. Then again, 1 # TODO: Check existence of libraries. 1 // FIXME: As a performance hack, don't add such decls into the translation 1 // FIXME: We could support implicit truncation if the shuffle can be 1 if (ParseCXXTypeSpecifierSeq(DS)) // FIXME: ObjectType? 1 // FIXME: This could be made faster by using a function that's aware of 1 // FIXME: use std::is_sorted once C++11 is allowed 1 // FIXME: Volatile isn't really correct; we should keep track of atomic 2 // FIXME: We shouldn't ever have to worry about missing 1 // FIXME: Cache the number on the Attr object if non-dependent? 1 // FIXME: We found a keyword. Suggest it, but don't provide a fix-it 1 // TODO: Make this recursive; it's a little tricky because an arbitrary 2 // initialize the return value. TODO: it might be nice to have 1 // TODO: implement logic similar to checkRippleForAdd 1 // FIXME: A bit of a hack, we either emit only one atom or all info. 1 // FIXME: put back this assert when initializers are worked out. 1 // TODO: It will generate lots of elements if the array size is very large. 1 // FIXME: For a macro definition make sure that all expansions 1 // FIXME: computing the declaration context might fail here (?) 1 // FIXME: appending linkage variables should go into a section of 1 // FIXME: MSAsmStmt 1 // FIXME: Add logging. 1 // FIXME: We need to abstract template parameters better! 1 // FIXME: There can be gross cases where one casts the result of a function 1 // FIXME: All name handling should be done before we get to the writer, 1 /// A context for parsing declaration specifiers. TODO: flesh this 1 // FIXME: attrid is dead, remove it in LLVM 4.0 1 // FIXME: CompoundLiteralExpr 1 // FIXME: These expressions should be parsed in a potentially potentially 1 // FIXME: Do we need to handle promotions? 2 // FIXME: Figure out how header maps and module maps will work together. 1 // FIXME: For generic lambda parameters, check if the function is a lambda 1 // FIXME: This is hidden behind a flag due to pervasive problems with 1 // FIXME: Per DR1213, subscripting on an array temporary produces an xvalue. 1 // FIXME: For complex operands with custom decoders we can't handle tied 1 // FIXME: there is no way to have a per-spelling category for the attribute 1 FIXME: Make libclang expose additional error information in this scenario. 1 // FIXME: It is really dangerous to store this in the map; if anyone 1 // FIXME: Discards pointer and AA info. 1 // TODO: Implement C++'s type "similarity" and consider dis-"similar" 1 // FIXME: Privatize once interface is stable. 1 // TODO: Ensure that constant globals aren't using initializer 1 # FIXME: With MSVS, consider compiling with /Gy and linking with /OPT:REF? 1 // FIXME: should this really always be false? 1 // FIXME: This feels like a hack. Should DeclarationName support 1 // FIXME: Introduce a second, default-ignored warning for this case? 1 // TODO: Unable to lower stream append, since it's used in a non-GS function. 1 // FIXME: Why do we need this check? 1 // FIXME: Is this the ideal solution? 1 typedef const BasicBlock BlockTy; // TODO: make this a template so we can have const and non-const iterators. 1 // FIXME: Just look up as a function for now. Overly simple of course. 2 // FIXME: Restore this code when we re-enable verification in verifyAnalysis 1 // FIXME: Should we be merging attributes? 1 // TODO: Don't check names. 1 /* TODO: Temporary for compatibility! */ 1 // FIXME: Any other bits we need to merge? 1 if (NumVisited > 30) // FIXME: Arbitrary limit to reduce compile time cost. 1 // FIXME: Warn when this flag trumps some other PIC or PIE flag. 1 CMK_At), // FIXME: improve source fidelity. 1 // TODO: add other combined directives in topological order. 1 // TODO: We currently don't propagate the NoContraction decoration. 1 // TODO: If the result value doesn't fit in an int, it must be a long or long 1 // TODO: We may want to change this behavior for SPIR-V. 1 // FIXME: Put additional penalties on breaking at non-whitespace locations. 1 // TODO: If not inline every function, for function has call site with precise 1 // FIXME: Why do we not do this if there's already an update block? 1 // TODO: pick the "best" multlib when more than one is suitable 1 /// TODO: If clang source code is ever allowed to use constexpr in its own 1 // FIXME: Once we figure out how we want allocators to work, 1 // FIXME: check whether evaluating default arguments can throw. 1 llvm_unreachable("FIXME: Unimplemented support for U* constraints."); 1 // FIXME: Force integral conversion to allow strong typedefs to convert. 1 // FIXME: Move to target hook. 1 // FIXME: It is not clear whether we want to build an lvalue reference 1 //TODO: IF-converted IFs become selects. 1 // TODO: Only do this on basic types. 1 // FIXME: PragmaPushMacroInfo? 1 // FIXME: Do some performance optimization in general and 1 // FIXME: Switch the ehptr type to i32 and then switch this. 1 // FIXME: OBJCGC: weak & strong 1 /// FIXME: When the loop optimizer is more mature, separate this out to a new 1 // TODO: the following may not be correct? 1 assert(New->getNumTypes() == 1 && "FIXME: Unhandled"); 1 // TODO: set precise. 2 // FIXME: It might be a cleaner solution to merge the tokens as a 1 // FIXME: Do this with a LiveRangeEdit callback. 1 // FIXME: Should we move the logic that tries to recover from a missing tag 1 // insertion. TODO: This should actually be in the Verifier, but we can't get 1 // TODO: use OpConstantComposite when all components are constants 4 // FIXME: We can actually create an abstract "CFNumber" object that has 1 // FIXME: This stuff needs to go into the Compilation, not the driver. 1 // FIXME: handle blocks, which have no name. 1 if (TypeVec.empty()) { // FIXME: Really want an SMLoc here! 2 // FIXME: This would be a lot easier if tied early-clobber uses also 1 // the data is flushed). See the FIXME below. 1 // FIXME: Factor out the duplicated instantiation context setup/tear down 1 // FIXME: use a proper constant 1 // uninitialized'. FIXME: Can this happen? 1 // FIXME: Should we support undefs that gain defs? 1 // FIXME: If there are multibyte or multi-column characters in the source, all 1 // FIXME: this should return the location of the last token 1 // FIXME: The node xform could take SDValue's instead of SDNode*'s. 1 // FIXME: Why doesn't this check for a subprogram or lexical block (AFAICT 1 DebugLoc dl; // FIXME: this is nowhere 1 // FIXME: TableGen this. 4 // FIXME: Remove this code as soon as GDB supports this. 1 /// FIXME: Move to llvm/Support. 1 Entry.address()); // FIXME:add in base address 1 * FIXME: This doesn't really belong here. 1 // FIXME: pass in SDLoc 2 // TODO: Initialize the type chain at 0 instead of 1 for CU signatures. 1 // FIXME: Don't always warn when we have support for reentrant locks. 1 // FIXME: A callback should disable checkers at the start of functions. 1 // FIXME: Eliminate this vector in favor of ASTContext allocation 1 #include "clang/Lex/ModuleLoader.h" // TODO: Sema shouldn't depend on Lex 1 // FIXME: Remove in 4.0. 1 // FIXME: Kill off InstrsToErase by doing erasing eagerly in a helper function 1 // FIXME: The N64 ABI probably ought to use DW_EH_PE_sdata8 but we can't 1 // FIXME: Add dead flags for physical and virtual registers defined. 1 // FIXME: It's slightly absurd to create a new diagnostics engine here, but 1 // FIXME: Should we allow available_externally aliases? 1 // FIXME: This needs to change if we wish to bundle labels / dbg_values 1 // FIXME: This shouldn't happen. 1 // FIXME: Only calculate this if CanBreakBefore is true once static 1 // correctly. TODO: Remove this restriction. 1 // FIXME: The maxStoresPerMemcpy setting from the target should be used 1 // FIXME: This should be DllCharacteristics. 1 // FIXME: size and attributes 2 // FIXME: We can memoize here if this gets too expensive. 1 // TODO: are convert_{from,to}_fp16 safe? 1 // TODO: We should be merging the lifetimes. For convenience, just remove them 1 // FIXME: For now we invalidate the tracking of all symbols passed to blocks 1 // FIXME: When creating the InvokerTemplate in SemaLambda.cpp 1 // FIXME: A CXCursor_AnnotateAttr should give the location of the annotation 1 // FIXME: This isn't very precise; see the example in 1 // FIXME: add -N, -n flags 1 // TODO: consider earlyclobbers? 1 // FIXME: this may need to be reconsidered if the key function 1 // FIXME: We need TemplateArgument representation and mangling for these. 1 // FIXME: The proper thing to do is to really iterate over the 1 // FIXME: How do we load the 'use'd modules? They may not be submodules. 1 // FIXME: we should warn if -fvisibility-inlines-hidden is used with c. 1 // FIXME: should rewrite according to the cast kind. 1 // FIXME: This should be extended to include other unreachable markers, 1 // FIXME: [namespace.udecl]p15 says that we should only consider a 1 // FIXME: This should be emitted by tblgen. 1 // FIXME: Emit a stable enum for NameKind. 0 = Identifier etc. 1 // FIXME: Check integer type's active bits, not its type size. 1 // FIXME: Is the qualifier info correct? 1 // TODO: Handle 5 byte compare as 4-byte + 1 byte. 1 // FIXME: Model these properly. LOAD and STORE are complicated, and 1 // FIXME: This operation currently creates ordering stability problems 1 // TODO: Add a handler for SIGUSER1-type signals so the user can 1 // FIXME: Revisit this once core issue 1488 is resolved. 1 // FIXME: We can get this pruning behavior even after the incremental SCC 1 // FIXME: Try to match the types of the arguments more accurately where 1 // FIXME: Why the asymmetry? We divide by word size in bits on other 1 // TODO: set entry and exit! 1 // FIXME: Do we need to handle ObjCMethodDecl? 1 # TODO: verify a single level of indirection 1 // FIXME: Overly conservative, termination condition could be an 'or' etc.. 1 // FIXME: Currently cost of model modification for division by 1 /// FIXME: As that the number of operands is used to find the start of 2 // FIXME: We're not checking the sqrt because it doesn't have 1 // TODO: currently we reserve space for gc arguments after doing 1 // FIXME: Clean up temporaries here anyway? 1 // FIXME: Preserve the aliased namespace as written. 1 // FIXME: Template parameter list matters too 1 // FIXME: Improve this with a switch or a visitor pattern. 1 // FIXME: The next token will not have LeadingSpace set. 1 // FIXME: Make a copy of the TypeLoc data here, so that we can 1 // FIXME: Should we just treat this as a feature? 1 // FIXME: Figure out how to specify paths so the following tests pass on Windows. 1 // TODO: Adding lifetime intrinsics isn't easy here, have to analyze uses. 2 // FIXME: We may change this at some point. 1 // FIXME: Do we incorrectly label ":" with this? 1 // FIXME: This is just an optimization hack to avoid deserializing large parts 1 // FIXME: This doesn't handle indirect calls. 1 // FIXME: Implement MS style inline asm statement profiler. 1 /// zeroext/signext integer argument or return value. FIXME: Most C calling 1 * FIXME: Change guard to their corrosponding __ARM_FEATURE flag when Q flag 1 // FIXME: Unify this with code below. 1 // FIXME: This is a work in progress. 1 // TODO: fmin(nnan ninf x, flt_max) -> x 1 // FIXME: What if the initializer_list type has base classes, etc? 1 // FIXME: We may add to the interface of evalAssume the list of symbols 1 // FIXME: this function should have "Cold" calling conv, 1 // There's a FIXME note in PerformImplicitConversion that calls out exactly this 1 // TODO: Model unwind edges from instructions, either with iload / istore or 1 // FIXME: Ugly hack around the fact that Entity.getType() is not 1 // FIXME: These template arguments are temporary. Free them! 2 // FIXME: This returns false for functions that should in fact be replaced. 1 // FIXME: Recurse on local labels? 1 // FIXME: This does not include the array filler expression. 1 // FIXME: We should not have to call getBaseElementType here. 1 // FIXME: This assumes one cycle benefit for every pipeline forwarding. 1 // TODO: It looks like FailedCandidates does not serve much purpose 1 // FIXME: We should potentially be tracking values through phi nodes, 1 // FIXME: Inter-procedural analysis will need to handle invalid CFGs. 1 // TODO: add operand index for all the OpCodeClass. 1 // TODO: Support the fpmath option this way. It will require checking 1 // TODO: consider including an empty blob singleton (possibly UTF-8/16 too). // 1 // TODO: Support other types such as StructTyID, ArrayTyID, OpaqueTyID, etc. 2 // FIXME: Per comments in rdar://6320065, "create" only applies to CF 1 // FIXME: List information for all submodules. 1 // FIXME: This should be in CompilationInfo. 2 // FIXME: This might not be as unique as we would like. 1 return getDerived().RebuildCXXConstructExpr(T, /*FIXME:*/E->getLocStart(), 1 // element. TODO: some of these stores can be trivially 2 // FIXME: Isn't this redundant with the initialization above? 1 // FIXME: We really just pick the LHS type arbitrarily? 1 // TODO: The responsibility of assigning the result-id of an instruction 1 // FIXME: Also raise an error in the Orc error-handler when we finally have 1 // FIXME: C11 also provides for imaginary types which would allow folding 1 // FIXME: This instruction is already predicated before the 1 /// FIXME: This class is named LazyCallGraph in a lame attempt to distinguish 1 // FIXME: The test for external storage here seems wrong? We still 1 // FIXME: Report this to dbgs() only once per function. 1 return; // FIXME: Emit a warning? 2 // FIXME: FileSystemOpts shouldn't be passed in here, all paths should be 1 // TODO: provide better source location info in DNLoc component. 1 // TODO: diagnose these individually, then kill off 1 // FIXME: Does the addition of const really only apply in 1 # FIXME: Actually, this is probably an instance of PR6753. 1 // FIXME: this code is mostly a duplicate of 1 // FIXME: code duplicated from TargetLowering::ParseConstraints(). 1 // FIXME: This lookup really, really needs to be folded in to the normal 1 // TODO: Support this. 1 // TODO: (ctpop x) == 1 -> x && (x & x-1) == 0 iff ctpop is illegal. 1 // FIXME: This also implicitly defines special members too frequently. They 1 // FIXME: Convert UTF-8 back to codepoints before rendering. 1 // FIXME: This code is overly simple and should be merged with other global 1 // FIXME: We should handle the discriminator here, but dsymutil 1 // FIXME: This diagnostics are preliminary. We should get far better 1 // FIXME: Are there cases, when we would like to call ActOnUsingDirective? 1 UnresolvedSet<4> MatchesCopy; // TODO: avoid! 1 // TODO: We support only `sizeof()`. Support other kinds. 1 // FIXME: Currently we add the same parent multiple times, but only 1 /* FIXME: According to Richard Smith this is a bug in the AST. 1 // FIXME: Once TwoAddressInstruction pass no longer uses kill flags, 1 // TODO map the complete set of values 1 // TODO: Form a whole lexer around this and relex the token! For now, just 1 // FIXME: Sink this into the subclass verifies. 1 // We traverse those if so. FIXME: implement these. 2 // FIXME: The only reason we need to pass the type in here is to get 1 // TODO: handle NaNs properly 1 // TODO: implement -Wuninitialized and fold this into that framework. 1 // FIXME: It is always conservatively correct to drop the info 1 // FIXME: This is dumb. Store the lambda information somewhere that outlives 1 // FIXME: Get from somewhere 1 // FIXME: Missing: unary -, unary ~, binary add/sub/mul/div, 1 // TODO: do we want to track the instantiation progeny of this 1 // purposes. FIXME: A 'break' statement might be a loop terminator, but 1 // FIXME: check whether it has a valuerange that excludes zero? 1 // TODO: Improve this heuristic to catch more cases. 1 // FIXME: ^ 1 /// FIXME: Try to replace this propagation heuristic with a scheme 1 // TODO: Print something reasonable for a TypoExpr, if necessary. 1 // TODO: The following doesn't handle Load(int, int) yet. And it is basically a 1 /// FIXME: This may return incorrect results for (submodules of) the 1 /// TODO: Unify with ClassTemplateDecl version? 1 /// FIXME: Currently FilePath must be an absolute path inside the 1 // FIXME: What we should return is the field offset. For example, 1 // TODO: treat calls to a missing default constructor as a special case 1 // FIXME: Refactor into StoreManager itself? 1 // FIXME: Incorporate module macros into the result of this. 1 // FIXME: If the memmove is volatile, lowering it to plain libc memmove may 1 /// TODO: Unify with ClassTemplateSpecializationDecl version? 1 // FIXME: LabelTy should not be a first-class type. 2 // FIXME: if we non-lazily instantiated non-dependent default args for 1 // TODO: Determine whether or not we should add names for programs 1 // FIXME: Pass SuggestedModule in here rather than converting it to a path 1 // TODO: Handle other kinds e.g., value, template template type. 1 .Case("objc_arr", LangOpts.ObjCAutoRefCount) // FIXME: REMOVE? 1 // FIXME: Add parameter whether this can happen - if this happens, we must 1 // FIXME: Cloning isn't correct in the presence of indirect goto! 1 EPI.TypeQuals = 0; // FIXME: silently? 1 // FIXME: For now we opt for false negatives with NSWindow, as these objects 1 // TODO: for >= 6.2 version, create more efficient structure 1 // FIXME: We could register any cloned assumptions instead of clearing the 1 // TODO: calculate the real address based on opcode 2 // FIXME Clang currently sets DisplayName to "bar" for a C++ 1 // FIXME: Using the -cfg command line option, this code used to be able to 1 // FIXME: custom lowering of ConstantFP might fail (see e.g. ARM 1 // FIXME: Taking the name from the FileEntry is unstable and can give 1 // FIXME: We check for the exact bit here because the generic lowering gives 1 // FIXME: This assertion is intended to catch unintended use of multibyte 1 // TODO: If the code between M and MDep is transparent to the destination "c", 1 // TODO: This is currently doing a row_major matrix store. We must 1 // FIXME: One easy improvement here is have the regex lib generate a single 2 // TODO: The loops could not be interchanged due to current limitations in the 1 // FIXME: This will get more complicated with C++0x 1 CMK_At) // FIXME: improve source fidelity. 1 # TODO: Set the path to the Repository directory. 1 // FIXME: scan for a case with a non-critical edge? 1 /// FIXME: We use EM_CurrentCodePage to write response files for GNU tools in 1 /// FIXME: Find a better name. 1 // FIXME: Doesn't work? return P.getAs< void >(); 1 // FIXME: This optimization requires some level of fast-math, so the 1 // FIXME: Handle other kinds of lexers? It generally shouldn't matter, 1 // FIXME: Should we really be allowing this? 1 // FIXME: we should create the init capture variable and mark it invalid 1 // TODO: validate the exist type match types if needed. 1 // TODO: this is really lame; we should really be rebuilding the 1 /// FIXME: Iterating over the instruction stream is unnecessary. We can simply 1 // TODO: skip things like PointStream. 1 // FIXME: PR 17877 showed that getCurLambda() can return a valid pointer 1 // FIXME: It would be useful to list the associated namespaces here, 1 // FIXME: It'd be nicer to test if this directory exists, but I'm not sure 1 // TODO: Serialize the various register masks. 1 // TODO: Just compute the UndefElts information recursively. 1 // TODO: Here is the list of the missing matchers, grouped by reason. 1 // TODO: handle adding qualifications like const 1 // FIXME: Ignore intra-macro edges for now. 1 if (!isa(C) && // FIXME: Remove ConstantVector. 2 // FIXME: Visit dependent template names. 1 // FIXME: This really doesn't belong here. See comments below. 1 // FIXME: Handle multi-dimensional VLAs. 1 // Overall FIXME: we are recomputing too many types here and doing far too 1 // FIXME: THREADING will delete values that are just used to compute the 1 // FIXME: We should also canonicalize loads of vectors when their elements are 2 // FIXME: We should merge AddAlignmentAttributesForRecord with 1 // FIXME: This bug correspond to CWE-466. Eventually we should have bug 1 // TODO: ByteAddressBuffer is supported on SM4 on compute shaders 1 // FIXME: Turn all of these into setcc if setcc if setcc is legal 1 // FIXME: Could introduce the whole pattern, including superclasses and 1 // FIXME: I don't understand why gcc generates this, or where it is 2 // FIXME: This is a gross hack. 1 // FIXME: Check two things: that the template-id names the same type as 1 // FIXME: Prechecks eventually go in ::Visit(). 4 // FIXME: Is there a way to make this work? 1 // TODO: specialized warning on null receivers? 1 // FIXME: vector is used because that's what clang uses for subtarget feature 1 /// FIXME: When MachinePassRegistry register pass IDs instead of function ptrs, 1 // FIXME: This violates the column limit. 1 // FIXME: This is slightly wrong. An inline_subroutine without a 1 // TODO: This runs the above loop over and over again for dead GEPs 1 // FIXME: This should probably be handled outside of this branch, 1 DxcOutputObject::ErrorOutput(CP_UTF8, // TODO Support DefaultTextCodePage 2 // FIXME: String literal breaking is currently disabled for Java and JS, as 1 /// FIXME: Find a way to stick this in the constructor, since it should only 1 /// FIXME: TreePatternNode's can be shared in some cases (due to dag-shaped 1 // FIXME: can this happen? 2 // have a callback. TODO: We could check the types of the arguments here. 1 // TODO: Replace uint32_t with enum from SPIRV-Headers once available. 1 // TODO: in theory this could be a simple hashtable lookup; most 1 // FIXME: Allow a larger integer size than the pointer size, and allow 1 DEF_TRAVERSE_DECL(ObjCCategoryDecl, {// FIXME: implement 2 // FIXME: defines for different 'flavours' of MCU 1 /// TODO: If we decide that this is a good approach to checking for undef, we 1 // TODO: Expand this into a covered switch. There is a lot more here. 1 // FIXME: Replace PassT::Result with type traits when we use C++11. 2 // FIXME: isPOD check is not sufficient, a POD can contain methods, 1 /// FIXME: Make the above true for all of LLVM's actual passes, some still 2 // TODO: handle more standard functions (+ wchar cousins): 2 // FIXME: These cases eventually shouldn't be needed. 1 /// tag kind. TODO: Should support multiple tag kinds. 1 /// FIXME: could also be a template-id 1 // FIXME: Check that there is a another register after this one. 1 // FIXME: This is a hack. It would be better if we pushed the lambda scope 1 // TODO: Store the mapping between object IDs and object indices to parse 1 // FIXME: What if the operand isn't an MBB, report error? 1 // FIXME: If we ever support comma expressions as operands to 1 // FIXME: Currently we create a LoopInfo from scratch for every function. 1 // FIXME: Add more offset correctness checks. 1 // TODO: only do this uniquing once, at the start of instantiation. 1 // FIXME: single value wrapped with paren will be treated as cast. 1 // FIXME: This creates arrays of GEPs to constant strings, which means each 1 /// FIXME: It'd be nice for this to be a non-templated constructor taking a 1 // FIXME: We should emit a warning here about an unknown inlining kind, 1 // FIXME: Drop support for the two element form in LLVM 4.0. 1 DXC_CP_UTF8); // TODO: Support DefaultTextCodePage 1 // FIXME: Move this to llvm::sys::path. 1 // TODO: Revisit exception specifications for the MS ABI. There is a way to 2 // TODO: it would be nice if we printed enums as enums, chars as 1 // FIXME: Don't use std::list here. 1 // FIXME: This does not use the nice trait macros because it must be accessible 2 // FIXME: Is this actually dangerous as WritingAnLLVMPass.html claims? Seems 1 /// FIXME: Do we really? 1 // TODO handle /MT[d] /MD[d] 1 // TODO: Handle class inheritance correctly. 1 #if 0 // TODO: reenable test when multiple rows are supported. 1 // FIXME: This is wrong: PlacementArgs misses out the first (size) argument. 1 // FIXME: Ensure we don't get here for explicit instantiations. 1 // FIXME: If we had a state here, we could see if the symbol is known to 1 // FIXME: Discards pointer and AA info. 1 // FIXME: This isn't correct for methods (results in bogus warning). 1 // FIXME: Support XF and TF types 1 /// TODO: Remove the hardcoded name and context, since many types don't use 1 // FIXME: Maybe check for ODR violations. 1 // FIXME: Poorly-factored string switches are slow. 1 // FIXME: This logic is meant to generate exactly the same output as 1 // TODO: collect such helper utility functions in one place. 1 // FIXME: Handle -mtune=. 1 // FIXME: Target specific behavior about how the "extra" bytes are filled. 1 // FIXME: Come up with a proper cost model that estimates whether sinking 1 // TODO: a fixit wouldn't hurt. 1 // FIXME: We may want to allow parameter packs in block-literal contexts 1 // FIXME: implement the other tricky cases 1 // FIXME: Destroy the data? 1 // TODO: Check more intrinsics 1 // FIXME: When interfaces are DeclContexts, we'll need to add 1 // FIXME: Set this via cl::opt to allow overriding. 1 // FIXME: We shouldn't need this null check! 1 // FIXME: might want to have a more precise type in the non-virtual 1 // TODO: Portability. 1 // FIXME: There's no way to have a built-in with an rvalue ref arg. 1 /// TODO: Consider making this not a child of Node. 1 /// FIXME: "Transactional" rewrites support should be baked in the Rewriter. 1 // FIXME: Are we consistent with the ordering of parsing of different 1 // FIXME: Only extend SETCC N, N and SETCC N, c for now. 1 // FIXME: This may be too conservative. It's ok if the instruction 1 /*FIXME: Remove if Objective-C id conversions get their own rank*/ 1 // FIXME: Make sure that the "to" context supports C++11! 1 // TODO: check cannot mix packoffset elements with nonpackoffset 1 // FIXME: This bitcast should just be made an invariant on the Runtime. 1 // FIXME: Handle dbg_values. 1 // FIXME: Should the following isa be DILexicalBlock? 1 /// FIXME: Stop evaluating if we're in EM_ConstantExpression or 1 /// FIXME: This functionality should probably be made available by 1 // FIXME: Use the source range of the condition, and the fully-qualified 1 // FIXME: preserve this information to here. 1 // FIXME: We should probably add this (and the __stack_chk_guard) via some 1 // TODO: This should be removed once we handle LCSSA PHI nodes. 1 // FIXME: Add proper support for debug info for virtual calls in 1 /// FIXME: This is notionally doing the same thing as ASTReaderDecl's 1 // FIXME: FileOffset in MapViewOfFile() should be aligned to not dwPageSize, 1 // FIXME: Type of conditional expression must be complete in C mode. 1 // FIXME: Darwin 'as' does appear to allow redef of a .comm by itself. 1 // FIXME: specific_attr_iterator iterates in reverse order, but 1 case ObjCObjectPointer: // FIXME: object pointers aren't really specifiers 1 // TODO: Could merge these checks into an InfoTable flag to make the 1 // FIXME: reference and rvalue_reference /probably/ shouldn't be allowed 1 // TODO: Maybe we shouldn't reverse the order during insertion. 1 // FIXME: Because ASTContext::getAttributedType() is non-const. 1 // TODO: check whether evaluating default arguments can throw. 1 // FIXME: parameters such as this should not be hardcoded. 1 // FIXME: Better recovery here?. 1 // FIXME: Is this right? 2 /// TODO: Check execution resources in addition to IssueCount. 1 // FIXME: In some cases, we know that every name that could be found by 1 // FIXME: need target specific adjustment here? 1 // FIXME: no source locations for a template argument pack? 2 // TODO: move ParsingClassDefinition here. 1 /// FIXME: This should really use a SmallPtrMap, once we have one in LLVM :) 1 // FIXME: It would be nice if we didn't have to loop here! 1 // TODO: Could try some IP mod/ref of the loaded pointer. 1 // FIXME: can we inherit this from ConstantExpr? 1 name == kHLDxilFunctionPropertiesMDName || // TODO: adjust to proper name 1 // FIXME: attrid is dead, remove it in LLVM 4.0 1 // FIXME: Remove with the 4.0 release. 1 // FIXME: Pass a specific location for the expr init so that the store is 1 #include "clang/Parse/ParseDiagnostic.h" // FIXME: remove this back-dependency! 1 // FIXME: Should we instead have a LazySymbolCreator callback? 1 # FIXME: Without the 10ms delay, the viewport sometimes jumps. 1 // TODO: set the fileds. 1 // FIXME: Use loc from directive. 1 // FIXME: Enforce these by construction. 1 // FIXME: UnresolvedUsingType 1 // TODO: If StoreCaptures is not true, we could do Fancy analysis 1 // FIXME: this isn't 100% correct -- some enum arguments require printing 2 WScript.Echo("Badly formatted TODO comments found in " + files.length + " files: " + counts); 1 // FIXME: Why is "!Context" okay here? 1 // FIXME: This probably shouldn't mutate the original path piece. 1 // FIXME: Handle enums. 2 // FIXME: If this should support Obj-C++, support CXXTryStmt 2 // FIXME: Don't do this in the cases where we can deduce it. 1 // FIXME: extract this method into TTI->getGEPCost. 1 // FIXME: For C++1y, do we need this restriction? 1 // FIXME: write more tests that actually use the dumpLayout output to prevent 1 // FIXME: 'ConsumedSoFar' and '*' doesn't make sense. 1 // FIXME: Ensure that global blocks get emitted. 1 // TODO: Get a DominatorTree and AssumptionCache and use them here 1 // FIXME: Should this be __has_feature or __has_extension? 1 continue; // FIXME: check only for "not an object file" errors. 1 // TODO: Verify system value is included in corresponding signature (with fallback), 1 // TODO: If all functions have been inlined, and unreferenced functions removed, 1 // FIXME: If D is a local extern declaration, this check doesn't make sense; 1 /// context. FIXME: We could probably cache this value somewhere 1 // FIXME: This is an approximation of the instantiation-dependent name 1 // FIXME: actually print the range. 1 // FIXME: It would be awesome of updateTerminator would just return rather 1 // FIXME: Use a custom category name to distinguish migration diagnostics. 1 // FIXME: Don't hardcode this check 1 // FIXME: This is wrong for libc intrinsics. 1 // TODO: use precision type when support it in dxil. 1 // FIXME: allocating an array requires simulating the constructors. 1 // FIXME: Reuse the same FileManager for multiple ASTContexts. 1 //FIXME: AR->getNoWrapFlags(SCEV::FlagNW) 1 // FIXME: We should not suggest _Alignof if the alignof macro 1 // TODO: Probably we can call hlsl::ValidateSignatureElement() for the 1 // FIXME: Even before we go to AA we can reason locally about some 1 // FIXME: There has to be a better way to do this, but for static 1 // FIXME: DWARF 4 states that DW_AT_data_bit_offset (which 1 // FIXME: This code has some duplication with recordRelocation. We should 1 // FIXME: Alignment check should be handled by section classifier. 1 /// TODO: Cache results? 1 // FIXME: This is inefficient, we shouldn't move things into newly allocated 2 // FIXME: These should almost certainly not be handled here, and instead 1 // FIXME: Should align all three assignments 1 /// TODO: Handle protocol list; such as id in type comparisons 1 // FIXME: This should be based off of the target features in 1 // FIXME: Force the precision of the source value down so we don't print 1 // FIXME: Should check for private access too but access is set after we get 1 // FIXME: fuzz more things: different styles, different style features. 1 // TODO: This should index all interesting directories with dirent calls. 1 /*FIXME:ConstructLoc*/ SourceLocation(), ToType, SCS.CopyConstructor, 1 // FIXME: we should emit semantic diagnostic when declaration 1 // FIXME: We could, probably, align them to current indentation level, but 1 // FIXME: add other typespec types and change this to an assert. 1 // FIXME: If we want to suggest a fixit here, will need to return more 1 // FIXME: this is only for directories, what about files? 1 // Delay processing for now. TODO: there are lots of dependent 1 // FIXME: Skip over implicit declarations for now. This matters for things 1 // FIXME: improve sharing scheme to cope with 3 alternative LLVM intrinsics. 6 // TODO: BUG: This will lower patch constant function sigs twice if 1 // FIXME: evaluate codegen vs. shuffling against constant null vector. 1 // above loop. TODO: Teach the inliner how to update the dom tree? 1 // FIXME: go through all the stmts and exprs again, and see which of them 2 // TODO: use real size after change constant buffer into linear layout. 1 // FIXME: this is utterly horrific. We should not be looking at previous 1 // TODO: Handle newlines properly. We need to remove leading whitespace. 1 // FIXME: This code is duplicated with BasicAliasAnalysis and should be hoisted 1 // FIXME: We are hard-coding the tune parameters based on the CPU, but they 1 // FIXME: glibc uses 'word' to define register_t; this is narrower than a 1 // TODO: Actually this is slightly incorrect. The Vulkan spec says: 1 // TODO: create temp variable for constant which has store use. 1 // FIXME: This code works, but it is unclear that we actually want to insert 1 /* TODO: Perhaps add an option to leave the existing central dir in place in case the add dies? We could then truncate the file (so the old central dir would be at the end) if something goes wrong. */ 1 // TODO: If Sum is zero, it probably means ScalarEvolution missed an 1 // FIXME: It isn't clear we can't rely on LLVM to TRE this. 1 // FIXME: If necessary, add a bit to indicate that this ObjCInterfaceDecl 1 // FIXME: consider propagating shadow of ConvertOp, at least in the case of 1 // FIXME: This is a hack. We should be able to solve this circularity and 1 /// FIXME: Add a layer in Tooling that provides an interface to run a tool 1 // FIXME: Handle the case where __builtin_offsetof is not a constant. 1 // TODO: add vector size. 1 # TODO: implement top-level llvm/* headers 1 // TODO: handle path-aware TBAA for union. 1 unsigned size = 4; // FIXME: DWARF64 is 8. 1 // FIXME: This seems overly restrictive, and causes hash mismatches 1 // TODO: Check if using other data structures would be more optimal. 1 // TODO: check if/when DNInfo should replace Name. 1 // FIXME: string offset section entries are 8-byte for DWARF64. 1 // FIXME: It's unfortunate that we don't have a Type node for handling this. 1 // FIXME: Provide template aliases for the models when we're using C++11 in 1 // FIXME: The C++11 rule don't actually state this explicitly, but I'm 1 // FIXME: Builtin::BI__builtin_powi 1 // FIXME: This ownership hack only exists because RuntimeDyldELF still 1 return Error(E); // TODO: handle arrays 1 // FIXME: Can this really happen? 1 // FIXME: If we knew where the '=' was, we could easily provide a fix-it 1 "FIXME: cannot name multiple result nodes yet"); 2 // FIXME: 1 // TODO: run validation on this shader blob 1 // FIXME: Support negative field widths. 1 dxc::WriteBlobToFile(pBlob, pFileName, DXC_CP_UTF8); // TODO: Support DefaultTextCodePage 1 // TODO: Remove attribute for lib? 1 // FIXME: This seems rather a hack. Should CurrentDir be part of the 1 // FIXME: location of underlying expr 2 // TODO: look at GetLastError as well. 1 // FIXME: This should be based on Arch attributes, not CPU names. 1 // FIXME: this could be a transitional option, and we probably need to remove 1 // FIXME: This should never occur, but currently it can because initializer 1 // FIXME: We should probably register a cleanup in this case. 1 // FIXME: Do we need to bounds check? 1 // TODO: It might make sense to run this check on demand. In some cases, 1 if (TypeConstraints[i].OperandNo >= NumResults) // FIXME: need value # 1 // go. TODO: This could definitely be improved upon. 1 // FIXME: Coalescer should support subregs symmetrically. 1 // FIXME Always emit the cast inst so we can differentiate between 1 // FIXME: We shouldn't have to pass the DashX option around here 1 // FIXME: Currently we can't handle mixed accesses and predicated accesses 1 // FIXME: We should probably define a "concat_iterator" helper and use that 1 // FIXME: This needs to be translated into the IR string representation. 1 // FIXME: Ideally we'd look at the receiver interface here, but that's not 1 // FIXME: We shouldn't need to do this cast, rectify the ASTContext and 2 // TODO: Handle member field in a struct and function parameter. 1 // TODO: change getFactor to return float. 1 // FIXME: This is a bit dubious, but plain C structs should trivially meet 1 // FIXME: VFP Intrinsics should error if VFP not present. 1 // FIXME: Add ref-qualifier! 1 // FIXME: This loop leaks the index expressions on error. 1 // FIXME: This was originally copied from ArrayBoundChecker.cpp. Refactor? 1 // FIXME: Cleanup per-file based stuff. 1 // FIXME: This is only useful as a last-resort way to disable the pass. 1 // FIXME: Handle '@' args (or at least error on them). 1 // FIXME: Cumbersome! Maybe add hook at construction of SVals at start of 1 // FIXME: Add this assertion to make sure we always get instantiation points. 1 // TODO: if an argument references a resource, look it up and write the 1 // FIXME: Add support for the '[, func-name]' part of the pragma. 1 // FIXME: non-dependent using decls? 1 // TODO: This can be inefficient for row major matrix load 1 // TODO: Get* functions used here add up to a bunch of redundant code. 1 // FIXME: This isn't aggressively handling alias(GEP, PHI) for example: if the 1 // TODO: This could be a util function 1 // TODO: Stolen from Brandon's code, merge 2 // FIXME: This can be dropped once string functions are unified. 1 // FIXME: The following are not yet generated here by Clang, but are 1 // FIXME: This results in terrible diagnostics. Clang just says the CPU is 1 // FIXME: This should instead be escaped in the event we're instrumenting 1 // TODO: It should be possible to delete 1 // TODO: There is no SPIR-V equivalent for "line" topology. Is it the 1 // FIXME: This can be sped up if there is an easy way to query whether an 1 STRINGIFY_CODE(MODULE_CODE, DEPLIB) // FIXME: Remove in 4.0 1 // FIXME: BI__builtin_clrsb 1 // block. FIXME: tentative matches? 1 // FIXME: This is a HACK! The inliner pass above implicitly creates a CGSCC 1 // FIXME: We shouldn't need to do this lookup here, should we? 1 // FIXME: print the default argument, if present. 1 // FIXME: It would be nice to have the location of the superclass 1 // FIXME: This approach avoids rewriting the initializer expression. It 1 // FIXME: This should likely be tracked as an APInt to remove any host 1 // FIXME: this should include vectors, but vectors use attributes I guess. 8 // FIXME: This is an O(N^2) algorithm, but DPG doesn't see an easy 1 ProhibitAttributes(Attrs); // TODO: is it correct? 1 // TODO: isIrreducible - look for triangle graph. 1 S->ICS->dump(); // FIXME: use OS 2 // FIXME: no need to update BasePointer in leaf functions. 1 // FIXME: Clean up temporaries here anyway? 1 // FIXME: need to deal with const... 1 // TODO: Make this const, if it's safe... 1 // FIXME: What if both have alignments, but they don't match?! 2 /// FIXME: what to do about extended qualifiers? 2 // TODO: we could widen the smaller range and have this work; but for now we 1 // FIXME: What is the convention for blocks? Is there one? 1 // FIXME: This isn't the right factoring. This is here for initial 1 // TODO: It would be even faster if the preprocessor could be switched 1 // FIXME: The pointer here is a non-owning/optional reference to the 1 // FIXME: Refactor this into a checker. 1 // FIXME: This error return is in place temporarily so we can 1 // FIXME: Must maintain LiveIns. 3 // FIXME: Every place that calls LoadCXXVTT is something 1 // FIXME: Handle parsing of macros around conflict markers correctly: 1 // TODO: undef >>a X -> undef if the shift is exact 1 // FIXME: For the time being we also match id; this should 1 // FIXME: It would be very nice to print which flags are turning on which 1 // FIXME: Check for protocols to which the class type is already 2 // FIXME: Pass in the explicit template arguments? 1 // FIXME: do something more useful with the error message 1 // FIXME: Standard ref? 1 // TODO: replace this with FlagIsLocal enum. 1 // FIXME: Compare against a static "hot" BranchProbability. 2 // TODO: Could do simple PHI translation, that would be fun :) 1 // TODO: some code are duplicated from processBinaryOp. Try to unify them. 1 Kind = CK_IntegralToPointer; // FIXME: null? 1 /// FIXME: privatize to AsmPrinter. 1 // FIXME: This is a horrible hack and broken in obscure cases, no worse 1 // FIXME: Can we avoid creating a fake variable here, since this empty 1 // TODO: Could dynamically modify easy computations here. For example, if 1 // FIXME: If we're merging, make sure that the protocol list is the same. 2 // FIXME: Type coercion of void()* types. 2 // FIXME: This is broken. CXXRecordDecl::getMostRecentDecl() returns a 1 // TODO: Use SCEV instead of manually grubbing with GEPs. 1 // FIXME: Rename this. 1 // FIXME: Remove after all ports are updated. 1 // FIXME: Even if we can't perfectly model the copy, we should see if we 2 // FIXME: Prevent resizing during this flush(). 1 // TODO: Verify system value is included in signature and has packing location (-1, -1), 1 // FIXME: We could perform more analysis here to determine whether a 1 // FIXME: If Address Sanitizer is enabled, insert dynamic instrumentation 1 // FIXME: Handle non-CallExpr-based CallEvents. 1 // FIXME: CallEvent maybe shouldn't be directly accessing StoreManager. 1 // FIXME: If there are long latency loop-invariant instructions inside the 1 // FIXME: Add other base types after adding tests. 1 // FIXME: More elaborate pretty-printing. 1 Record.push_back(T->getIndexTypeCVRQualifiers()); // FIXME: stable values 1 // FIXME: The type should probably be restricted in some way... Not all 1 // FIXME: Check property attributes, getters, setters, etc.? 1 // TODO: Can remove if in SCC now. 1 // FIXME: Provide a source location to indicate what we couldn't match. 1 // TODO: Serialize LLVM alloca reference. 1 // TODO: On code like this: 1 // FIXME: volatility 1 // FIXME: Support string-literal module names here. 1 // FIXME: ColumnWidth actually depends on the start column, we need to 2 // FIXME: Result should be uint64_t in DWARF64. 1 // TODO: Support propagation of 'precise' through OpSpecConstantOp and image 1 // (or wchar_t*), then there was no error (C++ 4.2p2). FIXME: 1 // FIXME: For now, just drop all extension qualifiers on the floor. 1 // FIXME: getTrackNullOrUndefValueVisitor can't handle "super" yet. 1 // FIXME: This *really* should not be here. 1 // TODO: check to see if missing bits are just not demanded. 2 // TODO: Determine size and mangle accordingly 1 // TODO: we are saying the constant has Function storage class here. 1 // FIXME: it doesn't look right that we SExt in GetVirtualBaseClassOffset() 1 // FIXME: Use CONCAT for 2x -> 4x. 1 /// TODO : Rename 1 } else { // Just the address. FIXME: also print the child's opcode. 1 // FIXME: we do not yet model the parts of a complex type, so treat the 1 // FIXME: handle floating point types. 1 // FIXME: No analysis is being done right now. We are relying on the 1 // FIXME: Should check for holes left by designated initializers too. 1 // FIXME: We don't ever mark excluded headers. 1 /// FIXME: Currently only builds up the map using \c Stmt and \c Decl nodes. 1 // TODO: should we remember this connection regardless of whether 1 // FIXME: We should actually run this code path for append as well, but 1 // TODO: if (!FT->isVarArg()) this call may be unreachable. PR14722 1 /// FIXME: Adjust SuccSU height based on MinLatency. 1 // FIXME: Closure-library specific stuff should not be hard-coded but be 1 // TODO: Figure out maximum times an identifier had to probe for -stats. 1 // FIXME: replace this with a map from comp_dir to table so that we 1 // TODO: static indexing cbuffer is fine. 1 /// FIXME: Figure out a way to consider 'RegSeen' from all code paths. 1 // TODO: We might want a more precise diagnostic for double free 1 // FIXME: Should the Dyld be retaining module information? Probably not. 1 // FIXME: This fixes a bad diagnostic where both templates are named 1 // FIXME: What other attributes should we check here? Identical 1 // Limitations and TODO items: 1 // TODO: Enable this test when precise metadata is inserted for Gis. 1 // TODO: come back and revisit the state transitions around inputs which 1 // FIXME: Warn on unused templates. 1 EXPECT_EQ(One.shl(Some), Full); // TODO: [0xa << 0xa, 0) 1 // FIXME: we're probably not correctly adding the 1 // FIXME: Make casts work, without breaking f()[4]. 1 RetTy, ArgTypes, FunctionProtoType::ExtProtoInfo(), None); // HLSL Change - add param mods - TODO: review for inout 1 #self.add_valrule("Instr.ERR_GUARANTEED_RACE_CONDITION_UAV", "TODO - race condition writing to shared resource detected, consider making this write conditional.") warning on fxc. 1 // FIXME: The LEB128 routines are copied and only slightly modified out of 1 // TODO: handle vector GEPs 1 // FIXME: Encode Cyrillic and CJK characters below to appease MS compilers. 1 //TODO: during final testing consider to remove. 1 // TODO: The template parameters should be in DC by now. Verify. 1 // FIXME: PR4112 1 // FIXME: It is completely unclear why this is necessary and not 1 // TODO: enable this optimization when validation is updated. 1 /* FIXME: We have to #define this because "sel" must be a constant integer, and 1 // FIXME: We blindly ignore splats which include undef which is overly 1 // FIXME: We're guessing at LangOptions! 2 // TODO: 3 // FIXME: Document. 1 // FIXME: Can we do this when local visibility is disabled? 1 // FIXME: Error reporting. 1 // FIXME: Register size should be a parameter to this function, so we can 1 // FIXME: the template-template arg was a DependentTemplateName, 1 // TODO: Make this more specific. (Deferred) 1 // FIXME: workaround for PR5130, this will be obsolete when a nobuiltin 1 // FIXME: Figure out how to print the real thunk type, since they can 1 //isExtension = true; // FIXME: implement #unassert 1 // FIXME: This method will soon be eliminated; see the note in Store.h. 1 // TODO: Could probably move this to a common place at some point. 1 // FIXME: Eventually, we could consider asking whether there was just 1 // FIXME: Should this routine accept a TargetMachine or require the caller to 1 // FIXME: Const cast here is nasty, but better than making StepForward 1 // FIXME: This won't give the correct result for 1 // FIXME: Preserve type source info ? 1 // FIXME: The note limiting machinery is borrowed from 1 // TODO: use hlsl types to do the check. 1 // FIXME: This should not be reset; modules can be different with different 1 // FIXME: stable encoding for @public/@private/@protected/@package 1 // FIXME: This is incredibly wasteful, these should be uniqued or part of some 1 // FIXME: This is hacky, find a better way. The problem is that in an ObjC 1 // TODO: This should check the GCStrategy 2 // FIXME: We should not do this unless E->refersToBitField() is true. This 1 // TODO: Look for LC_SEGMENT for 32-bit Mach-O files. 1 // FIXME: to do this check properly, we will need to preserve the 2 // TODO: support float arg directly. 1 // FIXME: Remove this as soon as RuntimeDyldELF can apply relocations without 2 // FIXME: A range of consecutive cases has 100% density, but only requires one 1 // TODO: detect and diagnose the full richness of const mismatches. 1 // FIXME: In the long run, ee don't want to drop source managers from modules. 1 // FIXME: handle different kinds of casts. 1 // TODO: Change this to a do-while. 1 # FIXME: This is slow, but so is deadlock. 1 /// FIXME: TableGen these numbers. Currently this requires target specific 1 // FIXME: This could all be kept private to the assembler implementation. 1 // FIXME: we don't support #assert or #unassert, so don't suggest them. 1 // TODO: Once we have extract/insert subvector cost we need to use them. 2 /// TODO: This class still has a ways to go before it is truly a "single 1 // FIXME: Check that the signedness of CharTy is correct! 1 // FIXME: Add a Type matcher so we can replace uses of this 1 // TODO: set precise. 1 FieldDecl *Field = E->getSourceBitField(); // FIXME: conditional bit-fields? 1 // FIXME: The following are added to allow parsing. 1 return nullptr; // TODO: handle constant array index 1 # FIXME: There is probably still deadlock potential here. Yawn. 1 // FIXME: This should be removed someday when we don't have to care about 1 // FIXME: This load reordering might break AllSameOpcode in some rare cases 1 /// FIXME: Deal with non-primitive types. 2 // FIXME: __declspec isn't really a CUDA extension, however it is required for 1 // TODO: drop the lock state and set directly in the fragment 1 // FIXME: Calling convention! 1 // TODO: we need to follow values all over the loop, not only in this block. 1 // FIXME: where the block came from? 1 // FIXME: Investigate what token type gives the correct operator priority. 1 /// TODO: This could be generalized for any CFG region, or the entire CFG. 1 // FIXME: What we're doing here is modifying the type-specifier that 2 // FIXME: This holds only because we only have one unary transform. 1 // FIXME: presence of @public, etc. inside comment results in 1 // TODO: Store base specifiers in APValue member pointer paths so we can 1 // FIXME: In the future hopefully we can just use the lexical DeclContext 1 // FIXME: This should use mod/ref information to make this not suck so bad 1 // FIXME: This doesn't account for how many operations are combined in the 1 // FIXME: Historically, the pass managers all called the LLVM context's 1 // FIXME FIXME FIXME: There are number of places in this file where we convert 1 // FIXME: Spilling this way is overkill, as it forces all uses of 1 // FIXME: For a friend function, we have not marked the function as being 1 // FIXME: We would like to maintain the current DeclContext as the 1 // TODO: For fully linked images, look through the external relocation 1 /// FIXME: privatize to AsmPrinter. 1 /// TODO: Remove DisplayName. It's always equal to Name. 2 // FIXME: We need to figure out where this behavior should live. Most of it 1 // FIXME: We can have multiple results via __attribute__((overloadable)). 1 // FIXME: Error if there is no matching cfi_remember_state. 1 // TODO: get a referenced local variable as 'int localVar'; 1 Record.push_back((unsigned)M->Kind); // FIXME: Stable encoding 1 // FIXME: Count angle brackets, and clear MightBeTemplateArgument 1 // FIXME: Can anyone explain what this does other than adjust for the size 1 // FIXME: This should soon be eliminated altogether; clients should deal with 1 // TODO: Handle more complex conditionals. If (v == 0 || v2 < 1) is false, we 1 // FIXME: ssize_t. 1 // FIXME: Rvalue references. We're going rogue with the above edits, 1 // FIXME: how are vtordisp handled in the presence of nooverride/final? 1 // FIXME: look at the following tricky-seeming exprs to see if we 2 // FIXME: Don't guess drives and paths like this on Windows. 1 // FIXME: Do something better in this case. 1 // FIXME: Issue a warning if multiple headers for the same submodule 1 // FIXME: Should in-progress permissions be reverted if an error occurs? 1 // FIXME: Reject the 2-field form in LLVM 4.0. 1 // FIXME: Does the non-threaded performSelector family really belong here? 1 // TODO: It would be nice to handle division, aka "(X + Y)/Z = X/Z + Y/Z", 1 return nullptr; // TODO: handle constant array index 2 // FIXME: There is no particular need the entire map needs to be 1 DEF_TRAVERSE_DECL(ObjCPropertyImplDecl, {// FIXME: implement this 2 // TODO: Add more ModuleBuilder tests 1 // FIXME: LocInfoTypes are "transient", only needed for passing to/from Parser 1 // FIXME: we should also be able to handle: 1 // FIXME: Note the fixup comments for Thumb2 are completely bogus since the 1 // FIXME: This should call SourceManager::getSpellingLoc(). 1 // FIXME: Issue a diagnostic if the base classes don't match when we come 1 // FIXME: We don't add a declaration of a function template specialization 1 // FIXME: This is trying to take care of module ASM like this: 1 // FIXME: inbounds? 1 // FIXME: In order to attach the temporaries, wrap the statement into 1 // TODO: support line number info (similar to IntelJITEventListener.cpp) 1 // FIXME: Explain why this special member can't be const. 1 UINT SampleMask = UINT_MAX; // TODO: parse from file 1 // FIXME: We need to run the same destructor on every element of the array. 1 // FIXME: Some of the split computations are wrong; unaligned vectors 1 // FIXME: It would be nice if we had an LLVM construct for this. 1 } else // FIXME: diagnostic below could be better! 1 // TODO: support case cols not 1 1 // TODO: avoid string comparison once hlsl::IsHLSLResouceType() does that. 1 // TODO: remove ; for type decl. 1 // FIXME: invent manglings for all these. 1 /// TODO: Consider IVInc free if it's already used in another chains. 1 // FIXME: When (3) is actually implemented, we'll have to emit the stubs 1 // TODO: Should we allow multiple diagnostics? 1 // FIXME: For namespaces and types, we're permitted to check that the entity 1 // FIXME: Re-add the ability to skip very unlikely potential corrections. 2 // TODO: const child iterator 1 // FIXME: Find a cleaner way to force the driver into restricted modes. 1 assert(ResNodes[i]->getNumTypes() == 1 && "FIXME: Unhandled"); 1 // FIXME: We need to notify the ASTMutationListener that we did all of these 1 // FIXME: If there are cases where '<' is used in ivar declaration part 1 // FIXME: Inconsistent units for BaseOffset. It is in bytes when 1 // FIXME: We hack together the directory name here instead of 1 // TODO: ConstantRange is currently over-conservative here. 1 // FIXME: Keep these here for now in case we decide soon that we 1 // FIXME: this is a bit instantiation-specific. 2 // TODO: this pointer should actually be invariant between 1 // TODO: If 8-bit types are to be supported in the future, we should also 1 // FIXME: Issue a diagnostic with this information. 1 // FIXME: The definition might not be visible. 1 // FIXME: what should we do for protected and internal visibility? 1 // TODO: update nonUniformIndex later. 1 // FIXME: This diagnostic isn't actually visible because the location is in 1 // FIXME: add a matcher for TypeLoc derived classes using its custom casting 1 // FIXME: Support macros with the same name as a keyword here. 1 // FIXME: Do not modify node height. It may interfere with 1 // TODO: allow code generation to take advantage of partially preserved 1 // FIXME: Does .section .bss/.data/.text work everywhere?? 2 // FIXME: Most of this is copy-and-paste from BumpVector.h and SmallVector.h. 1 // FIXME: Treat this as an extension, and flag this as an error when GCC 1 case FK_AddressOfOverloadFailed: // FIXME: Could do better 1 // FIXME: What are the right qualifiers here? 1 // FIXME: Eventually we will want to emit vector element references. 1 // FIXME: We shouldn't need to get the function info here, the runtime 1 // FIXME: The way that MaxSize works is subtle and depends on the 1 // FIXME: The interleaved load group with a huge gap could be even more 1 // FIXME: Think about this more. 1 // FIXME: Need to notify the ASTMutationListener that we did this. 1 // FIXME: What about complex? What about half? 1 // TODO: Generalize this for use with other types. 2 // FIXME: Check for C++0x support in "to" context. 1 // FIXME: Refactor this code to an accessor on the AST node which returns the 1 // FIXME: HandleDeclarator's diagnostics aren't quite as good, though. 1 // TODO: There is only ARM far stub now. We should add the Thumb stub, 1 // FIXME: Need to be able to tell the DeclPrinter when 1 // TODO: ignore multiplications by 1, reject if multiplied by 0. 1 // FIXME: The code generator produces really bad code when an 'escaping 1 // TODO: See if we can integrate these two together. 1 // FIXME: Implement. 1 // FIXME: Not all local state is mutable. Allow local constant subobjects 1 // TODO: common condition check implementations with assumes 1 // FIXME: This is definitely not ideal, but our immediate clients can't 1 // TODO: only the ones with the flag set! 1 // FIXME: This is a hack. We don't use the correct region for a new 1 // TODO: check other high level dx operations if need to. 1 // TODO: in restricted cases, we can emit the vbase initializers of 1 // FIXME: Should these be different? 1 // FIXME: gcc replaces -lobjc in forward args with -lobjc-gnu 1 // TODO: Returning PartialAlias instead of MayAlias is a mild hack; the 1 // FIXME: this currently happens when we're called from SemaInit 1 /// TODO: Handle pointer return types. 1 // FIXME: We really just want to fall back for internal errors, such 1 // FIXME: Conceptually, this code is implementing an iterator on MBB that 1 // FIXME: Is this necessary? Why only for protocol? 2 //case HLOpcodeGroup::NotHL: // TODO: Support lib functions 1 - FIXME: If there is no @finally block we can do a few more 1 // FIXME: Need to handle alignment 1 /// FIXME: Adjust PredSU height based on MinLatency. 1 // TODO: Refactor to separate name export verification part from 1 // TODO: harden output file cleanup so there are no additional allocations/exceptions 1 // FIXME: Does injected class name need to be in the redeclarations chain? 1 // TODO: Consider a target hook for valid address spaces for this xform. 1 // FIXME: We need a way to map from names to Type*. 1 // FIXME: Why does ocaml emit this?? 1 // FIXME: Do something better here; GenerateVarArgsThunk is extremely ugly. 1 // FIXME: All of this stuff should be part of the target interface 1 // FIXME: The SIGN_EXTEND_INREG node isn't specifically limited to 1 // FIXME: Are the prebound or indirect fields possible here? 1 // FIXME: Can we order the candidates in some sane way? 1 // TODO: Lower these as well, along with function parameter types 1 // FIXME: Remove this once temp destructors are working. 1 // FIXME: return nullptr; 1 // FIXME: declared here because it is used from 1 Record.push_back(A->getKind()); // FIXME: stable encoding, target attrs 1 // FIXME: Part of this logic is duplicated in the MCELFStreamer. What is 1 /// FIXME: Currently assuming single-use physregs. 1 // TODO: Replace this with an enum, when it is available in SPIRV-Headers 4 // FIXME: If we also have an update record for instantiating the 1 // FIXME: We need to propagate SROA *disabling* through phi nodes, even 1 // FIXME: we should support specifying dwarf version with 1 // FIXME: The ASTReader will already have complained, but can we showhorn 1 // FIXME: This is terrible, we need this for ::close. 1 // FIXME: Do not do the calculation here 1 // FIXME: Eventually replace the use of state->get with 1 // TODO: Add a different warning which will print the field names. 1 // FIXME: This is wrong; the macro refers to the numerical values 1 // FIXME: Currently ObjC method declarations are incorrectly being 1 // TODO: report this error on front-end 1 // FIXME: Figure out whether there is a way to get the SourceManger to 2 // FIXME: Support DWARF64. 1 // FIXME: This assert crashes during bootstrap, but I think it should be 1 // FIXME: It would be useful to check constexpr function templates, but at the 1 // TODO: Verify that caller and callee attributes are compatible. 1 // TODO: Instead of picking the first free register, consider which might 1 // TODO: Should budget depends on the size? Avoiding a large global warrants 1 // FIXME: This would be more comprehensively addressed by modifying 1 // FIXME: Possibly incorporate the offset? 1 /// FIXME: This is very inefficient; replace uses of it with uses of 1 // FIXME: This preserves long-standing behaviour, but is it really the right 3 // TODO: escape hard stuff (like \n) if we ever care about it. 1 // FIXME: Check whether the relevant module macros are visible. 1 // FIXME: Decide if we can do a delegation of a delegating constructor. 1 // TODO: Handle 8 byte compare on x86-32 as two 32-bit loads. 1 // TODO: Look through vector insert/extract/shuffle. 1 // FIXME: We should really remove this. It doesn't make any sense. 1 // FIXME: Using getMinimalPhysRegClass is very conservative. We should 1 // FIXME: need to deal with UCN conversion issues. 1 // FIXME: Is this really necessary? The only caller repairIntervalsForRange() 1 // FIXME: This set of cases was copied from SemaExprObjC. 1 // FIXME: Wrong. We should be looking at the member declaration we found. 1 // FIXME: _Decimal32 and _Decimal64 are SSE. 1 // FIXME: An alternate way would be to select a symbolic scale which is later 1 // FIXME: Handle IndirectFieldDecl? 1 // FIXME: We would like the translation unit's Scope object to point to the 1 // FIXME: not clear how to mangle this! 1 // FIXME: we should instead check for imbalances of the retain/releases, 1 // FIXME: We don't support non-power-of-2-sized vectors for now. Ideally we 2 // FIXME: Make search efficient? 4 // FIXME: Automatically giving all implicit defs defaultDefLatency is 1 // TODO: Use an AliasAnalysis and do real alias-analysis queries, and 1 // FIXME: Make this a namespace, probably just move all the Register* 1 // FIXME: this hack ensures that if we look up a file by a virtual path in 1 // FIXME: if a structor knows it belongs to MDC, why doesn't it use a vftable 1 // FIXME: For some nested lists, we can do better. 1 // FIXME: for Char16, Char32, and NullPtr, make sure that the "to" 1 // FIXME: don't do this if they're efficiently moveable. 1 // FIXME: do we need the first subcondition? 1 // TODO: Until we have callable shaders we should not get here except 1 // FIXME: Instead of testing for UnsafeFPMath, this should be checking for 1 // FIXME: Remove in 4.0. 1 // FIXME: This only considers queries directly on the invariant-tagged 1 // FIXME: This should behave just like a warning flag, and thus should also 1 // first time it is evaluated. FIXME: The notes won't always be emitted the 1 /// FIXME: The Diag, LangOpts, SourceMgr, FileMgr, StoredDiagnostics, and 1 // TODO: No way to make AltiVec vectors in builtins yet. 1 case Declarator::ObjCResultContext: // FIXME: special diagnostic here? 1 // FIXME: Translate SubIdx to a stackslot offset. 1 // FIXME: If there are operations in the RHS which are unsequenced 1 // FIXME: Should perform GVN again after PRE does something. PRE can move 1 /// FIXME: Remove this when these classes start using 'instancetype'. 1 // FIXME: Each LLVM component may have its dependent system libs. 1 // TODO: Now ELF SymbolRef::ST_Debug = STT_SECTION, it's not obviously 1 // TODO: Verify datarel below. 1 // FIXME: Magic number! At the least, this should be given a name because it's 2 // TODO: add HLSL-specific pragma handlers 1 // TODO: pending values to set 1 return Left.isNot(tok::period); // FIXME: Properly parse ObjC calls. 1 // FIXME: For now, assume ARM mode. 1 // TODO: Theoretically we could check for dependencies between objc_* calls 1 // FIXME: should probably replace this with vfs::Status 1 // FIXME: SubstTemplateTypeParmType 1 // FIXME: Remove ? 1 // TODO: add dynamic index flag 1 // FIXME: this is invalid for WindowsCE 5 // FIXME: If the last initializer is an incomplete initializer list for 1 // FIXME: Add -static support, once we have it. 1 // FIXME: Merging a function definition should merge 1 // stage is occupied. FIXME it would be more accurate to find the 1 /// FIXME: Remove in 4.0. Currently parse, but ignore. 1 // FIXME: Deprecated, move clients to getName(). 2 // FIXME: There's a potential issue lurking here if a single instance of 1 // TODO: avoid this copy 1 /// FIXME: figure out why these do not match? 1 // TODO: this is very conservative 1 /*FIXME:*/T->getTypeLoc().getEndLoc(), 2 // TODO: Acquire a DominatorTree and AssumptionCache and use them. 1 // FIXME: It'd be nice to replace them with integer vector types, but we can't 1 // FIXME: This code does not handle invokes 1 // TODO: This could be more efficient by bulk changing the operands. 1 // FIXME: refactor/share with ActOnMemberReference(). 1 /* FIXME: should this just take a const APInt reference? */ 1 // FIXME: Fix generic lambda to block conversions. 1 // There could be duplicate phi source entries. FIXME: Should sdisel 1 // FIXME: 1% is from preliminary tuning on SPEC, it may not be optimal. 1 // FIXME: Set the exception specification to EST_Uninstantiated here, 1 // FIXME: Should allow casting away constness if CStyle. 1 // FIXME: const correct? 1 // FIXME: Maybe we should suggest adding braces instead of parens 1 // FIXME: Should we be checking DL->inlinedAt() to determine this? 1 // FIXME: Move FixItRewriteInPlace from lib/Rewrite/Frontend/FrontendActions.cpp 1 // FIXME: This doesn't send the right notifications if there are 1 // FIXME: If we ever want to support general, address-constant expressions 1 // TODO: consider accepting DXIL in the code editor as well 1 /// FIXME: Document the requirements this imposes on matcher 1 // FIXME: Use a general GetUnarySelector method for this. 1 // TODO: check this in front-end and report error. 1 // FIXME: This loses extension expressions in the AST! 1 // FIXME: we should not allow any duplicate keys, but there are a lot of 1 // FIXME: extend the mutation API to allow earlier mutations to instantiate 1 // TODO: Actually use the failed-deduction info? 2 // FIXME: Visit nested-name-specifier. 2 /// FIXME: redundant with TypeAsWritten? 2 // FIXME: The children for an InitListExpr doesn't include the array filler. 1 /// TODO: decide if we should distinguish between signed 1 // FIXME: Check default arguments as far as that's possible. 1 // FIXME: Verify the argument is a valid integer. 1 // FIXME: 'template' is required on the next line due to an 1 // TODO: If the constant is exactly representable, is it always OK to do 1 // FIXME: Handle other cases. 1 // FIXME: This can be simplified. The mi2iMap_, Idx2MBBMap, etc. should 1 // FIXME: Make buildLookup const? 1 // FIXME: We can cache this if needed. 2 // FIXME: These members shouldn't be public. 1 // FIXME: Provide this for PE/COFF targets. 1 // FIXME: This can be removed when the attr propagation fix for templated 1 // FIXME: Revisit this when the dust settles. 1 // FIXME: Can this happen? By this point, ValType should be known 1 // FIXME: this is here just to diagnose the case of a var = commmon_sym. 1 // FIXME: It seems this value needs to be adjusted by 4 for an effective 1 // FIXME: GCC does not appear to mangle the template arguments when 2 // TODO: volatiles can't be elided, but they can be reordered with other 1 // FIXME: Make this function thread safe. 2 if (TypeVec.empty()) { // FIXME: Really want an SMLoc here! 2 // FIXME: Parameterize this based on MAI. 1 // TODO: The current metadata format doesn't support struct 1 // FIXME: This predicate seems like it would be useful to add to ASTContext. 2 // symbol. FIXME is this right for common? 1 // TODO: Verify system value item is included in signature, treated as arbitrary, 1 // FIXME: Implement warning dependent on NSCopying being 1 // TODO: support array. 1 // FIXME: Generate IR in one pass, rather than going back and fixing up these 1 // FIXME: It would be much better to store actual values instead of strings, 1 // FIXME: We need target hooks for the evaluation. It may be limited in 1 // TODO: Implement 4 /// FIXME: Wrap this in an elaborated-type-specifier? 1 /// TODO: Clean up aliasing and try to move it to a separate pass. 3 // FIXME: Change to an error if non-default in 4.0. 3 /*FIXME: StartL=*/ID->getLocation(), 1 // TODO: The following hack exists because predication passes do not 1 // FIXME: location of base class? 2 // FIXME: If we wanted to, we could allocate all of these in one big array. 1 // FIXME: We should just generate invalid edges anyway and have the optimizer 1 // TODO: fmax(nnan x, -inf) -> x 1 // FIXME: Handle vector types! 1 #ifdef HAVE___CMPDI2 // FIXME: unused 1 case Declarator::ObjCParameterContext: // FIXME: special diagnostic here? 1 // FIXME: sret demotion isn't supported yet - bail out. 1 // FIXME: The AliasAnalysis is not yet supported in the new pass manager 1 // FIXME: This predicate is missing many cases, currently it just follows 1 /// TODO: Split between arguments and otherwise. 1 // FIXME: Check consistency if we have an old and new operator delete. 1 // FIXME: Recover from "NSObject foo" by inserting the * in "NSObject *foo"? 1 // FIXME: Some day in the future it would be nice to allow a "plug-in" 1 // TODO: If we want to be more optimistic here, we'll need to make sure that 1 // FIXME: We could omit private if the parent is a class_type, and 1 // FIXME: Handle arrays, which run the same constructor for every element. 1 // TODO: Migrate the existing backends to keep the map around rather than 1 // FIXME: figure out how to safely handle things like 1 // FIXME: Add support for explicit call of template constructor. 1 // FIXME: We also fall through for atomics; not sure what should 1 /// TODO: Extend this to internal types by generating names that are unique 1 // FIXME: That means a reload that're reused in successor block(s) will not 1 /*FIXME:*/S->getWhileLoc(), Cond.get(), 1 // FIXME: If the case list was broken is some way, we don't have a good system 1 // FIXME: If this is a reference, map through to its value. 1 # FIXME: This should really only be suite in test suite config 2 // FIXME: This does the right thing, but maybe we need a more general 1 // FIXME: Use a decent data structure. 2 // TODO: If the fully aggressive solution isn't valid, try to find a 1 // FIXME: For now assuming these are 2-character constraints. 1 // FIXME: Remove ? 1 // FIXME We might be able to do the conversion during compilation and get rid 1 // FIXME: GCC treats block pointers as fundamental types?! 1 // FIXME: This should pass the Decl not the name. 1 // FIXME: We don't have any representation for explicit instantiations of 1 for (auto Element : *Parent) { // TODO: reverse iterate? 1 // TODO : Right now we are just going to bild a new blob with updated root signature to verify root signature 1 // FIXME - accessibility 1 /* TODO: We don't support central dir's >= MZ_UINT32_MAX bytes right now (+32 fudge factor in case we need to add more extra data) */ 1 // FIXME: An integral constant expression? 1 // FIXME: Even though we're executing under crash protection, it would still 1 // FIXME: Reactive when these tests can be more specific (not matching 1 // FIXME: Err on %xmm* registers 1 E->setType(Context.VoidTy); // FIXME: just a place holder for now. 1 // FIXME: If there is a ',' before the next ']' or ':', we can skip to 1 // FIXME: Does type-dependence need to be computed differently? 1 // FIXME: Is this really right? 2 InstantiateFunctionDefinition(/*FIXME:*/Inst.second, Function, true, 1 // FIXME: Should use TokenConcatenation to make sure we don't allow stuff like 1 // TODO: For now, not handling conversions like: 1 // FIXME: Pranav: What is this ? 1 // TODO: It would be better to limit the vectorization factor based on 1 // FIXME: Using the mtime here will cause problems for explicit module 1 // TODO: Handle the 'partially zero' case. 3 // TODO: avoid this copy. 2 // transformed to have pointer type. FIXME: apparently these don't 1 // TODO: don't always clone when decls are refcounted. 1 /// TODO: Should this give more weight to users inside the loop? 1 // FIXME: we should enqueue using post order. 1 // FIXME: Eventually convert back to just 'VisitDeclContext()'. Essentially 1 // FIXME: ARC may want to turn this into 'const __unsafe_unretained' if 1 // FIXME: This can happen if we strcpy() into a string region. This is 1 # FIXME: This should depend only on the libraries Go needs. 1 // FIXME: We need a more general way of getting the O_CREAT value. 1 // TODO: optimize static array index in later pass. 1 // TODO: Identify the leaked file descriptor. 1 // FIXME: After copying the source-location information, should we free 1 /*FIXME:*/IvarLoc, IsArrow, 1 // FIXME: Don't emit DWARF debug info if there's at least one function 1 if (!ICE) // FIXME: deal with more complex calls (e.g. (func)(), (*func)()). 2 // FIXME: Get right address space. 1 // TODO: template support. 1 // FIXME: These template arguments are temporary. Free them! 1 // FIXME: Should this get moved into SimplifyDemandedBits by saying we don't 1 // FIXME: Use the actual location of the ellipsis. 1 # FIXME: Eliminate this and make normal constructor? Requires hiding ctypes 1 } else {// FIXME: is this even reachable? Test it. 1 // FIXME: Recover by calling the found function. 1 // FIXME: How do we cope with isa? 1 // FIXME: This should be using ValueManager::ArrayindexTy...somehow. 1 // FIXME -- need to check this again on template instantiation 1 // TODO: Already checked in cmpOperation 1 // FIXME: Should we error on these cases? 1 // FIXME: Need to track down the register allocator issue which causes poor 1 // FIXME: certain users need more information. E.g., SimplifyLibCalls needs to 1 // TODO: We can add other conversions e.g. shr => div etc. 1 // TODO: Report error. 1 # FIXME: This is not safe because this will create the same target 1 // FIXME: Replace this with the existing map in ScheduleDAGInstrs::MISUnitMap 1 // TODO: bail out on this case for now. We could emit uglygep. 1 // FIXME: Writes to memory only matter if they may alias the pointer 1 return "armebelf_linux_eabi"; /* TODO: check which NAME. */ 1 // TODO: uin16_t may be used to represent two different types when we introduce uint16 1 // FIXME: We need a way to communicate this error. 1 // FIXME: This needs to be a per-execution seed. This is just a placeholder 1 // FIXME: this doesn't work correctly for module names containing path 1 // FIXME: we can probably do a comparison against other MemRegions, though. 1 // FIXME: getSwitchCaseList() does not necessarily guarantee a stable 1 // FIXME: If this is a braced initialization of an aggregate, it is not 1 // FIXME: remove it. 1 // FIXME: __attribute__((cleanup)) ? 1 // FIXME: It might be cleaner to set this when attaching the body to the 1 // FIXME: Instead of passing in the CallOperator->getTypeSourceInfo() 1 // FIXME: We should be able to assert this for all DeclRefExprs, not just 1 // FIXME: This should be a PrintError once the x86 target 1 // TODO: bitfields? 2 // FIXME: these assignments (& the equivalent const T&/const Optional& ctors) 1 // TODO: Should the addressing mode BaseGV be changed to a ConstantExpr instead 1 // FIXME: Refactor the "is it a nested-name-specifier?" check 1 // FIXME: handle category headers that are declared across multiple lines. 2 // TODO: If BB is reachable from all paths through PredBlock, then we 1 // FIXME: block pointer types? 1 /* FIXME: 'states' is assumed as 'long' on small version. */ 1 // FIXME: We should serialize / deserialize these if they occur in a PCH (but 1 // FIXME: Avoid the allocation/copy if at all possible. 1 // TODO: the live range information assumes structured dxil - which should hold 1 // TODO: Avoiding the intrinsic to support the test's use of TraceRayTest 1 // FIXME: a string representation of the kind would be nice. 1 SourceLocation TemplateKWLoc; // FIXME: parsed, but unused. 1 // FIXME: produce errors if we cannot parse the version. 1 // FIXME: Consider unifying with 'areComparableObjCPointerTypes'. 1 // FIXME: Share this cleanup with the constructor call emission rather than 1 // FIXME: This is a poor diagnostic for ReturnStmts without expressions. 1 // TODO: Add ASan stuff here 1 // TODO: Use real size after change constant buffer into linear layout. 1 // FIXME: All duplicated with non-local case. 1 // FIXME: Can't this be simpler? This might even be worse than the 1 // TODO: use low precision type when support it in dxil. 1 // FIXME: Find better names for these functions (or document what they 1 // FIXME: Portability. 1 // FIXME: is there such a thing as a truncating indexed store? 1 include TODO lit.py 1 // TODO: error handling 1 // TODO: Add notes about the actual and expected state for 1 // FIXME: Add all the various semantics of linkage specifications 1 // TODO: More sophistication in the way Formulae are generated and filtered. 1 // FIXME: We don't allow floating point scalars as input. 1 #TODO: Remove this check in a few days once it has circulated through 1 // FIXME: Can this actually happen? We have no test coverage for it. 1 // TODO: Once we can get to the GCStrategy, this becomes 1 // FIXME: Not quite happy with the statistics here. We probably should 1 // FIXME: GCC passes on -lgcc, -lgcc_pic and a whole lot of 1 // FIXME: Do we need to pass ProgramStateManager anymore? 1 // FIXME: Print which macro is being invoked. 1 // FIXME: Is there some better way to compute this? 1 // FIXME: LookupNestedNameSpecifierName isn't the right kind of 1 // TODO: this looks like a hack to make the current tests happy. 1 // TODO: return "auto function" and other bad things based on the real type. 1 // FIXME: this is the right thing for template instantiation, but 1 // FIXME: How can we handle this? It's not good enough to subtract the 1 // FIXME: Change this once MC is the system assembler. 1 // TODO: Tell AA about the new values? 1 // FIXME: This should be unconditional but we have bugs in the preparation 1 // FIXME: This is incorrect. Non-reference declarations can lifetime-extend 1 // FIXME: Is this really right? 2 // FIXME: Should we permit '\' on Windows? 1 // FIXME: If we get an error during a bridge cast, should we report it? 1 // FIXME: A callback should disable checkers at the start of functions. 5 // FIXME: This is the size of the setjmp buffer and should be target 1 // FIXME: Handle structs. 2 // FIXME: The space after 'i' is wrong, but hopefully, this is a rare case. 1 /// FIXME: Temporarily stores the name of a specialization 1 // FIXME: we might have ambiguous templates, in which case we 1 // FIXME: Can we diagnose ODR violations somehow? 1 // FIXME: we could also treat Min/Max/UMin/UMax by the INT_MIN/INT_MAX/... 1 // TODO: Translate any source ranges as well. 1 echo hcttodo - enumerates TODO comments 1 // FIXME: The depth check could be made to return the last non-aliasing 1 // FIXME: Visit the "outer" template parameter lists on the TagDecl 2 // TODO: Properly handle various permutations of possible corrections when 1 // TODO: If this is an archive, then burst it and dump each entry 1 // FIXME: This is not pretty. MCContext has a ptr to MCObjectFileInfo and 2 // FIXME: This assumes all of the defs are used as call operands. 1 // FIXME: If we're fusing shuffle instructions, then we can't apply this 1 // FIXME: If we didn't skip any inits, parse the lambda from here 1 // FIXME: A variable template is a dependent context, but is not a 1 // FIXME: Our choice of AST representation here is less than ideal. 1 /*FIXME:*/PropertyLoc, 1 // TODO: choose the virtual file system based on the CompilerInvocation. 1 // FIXME: Provide TLI, DT, AT to SimplifyInstruction. 1 // FIXME: it would be good for us to keep the WeakRefAttr as-written instead 1 // FIXME: Handle other pointer-like types. 1 // FIXME: Retain a pack expansion if RetainExpansion is true. 1 // FIXME: The fallback type here is totally bogus -- though it should 1 // FIXME: Magic number for max shown overloads stolen from 1 // FIXME: Avoid std::string in "Sel.getAsString()" 1 // FIXME: we probably shouldn't use floats at all. 1 // FIXME: This logic isn't really right; we can safely inline functions 1 // TODO: Move to StoreManager. 1 // FIXME: Set Arch. 1 /// quadratic search on the stores. TODO: We can further reduce this cost 1 // FIXME: Diagnose arguments without names in C. 1 // FIXME: The issue with predicated instruction is more complex. We are being 2 // FIXME: There must be a better way to do this then to check and fix the 1 // TODO: maybe visit attributes? 1 // TODO: If this is a conversion-function-id, verify that the 2 // TODO: Add support for relocations in other sections as needed. 1 // FIXME: The code for the scaled and unscaled registers looks 1 // FIXME: Twine.str() is not very efficient. 2 // FIXME: Restructure so we don't have to expose so much stuff. 1 // FIXME: This probably shouldn't be here, but the code to compute 1 // TODO: Remove the callers of this signed version and delete. 1 /// TODO: Represent multiple users of the same expression in common? 1 // FIXME: We need to delay this check until instantiation in some cases: 1 // FIXME: Do we want to overload Call() to directly take 1 /// TODO - This transformation could remove entries from a phi in the target 1 // TODO: Recognize more cases here. 2 // TODO: It's theoretically possible to do code motion in this case, as 1 // FIXME: Avoid unnecessary std::string trashing. 1 llvm::Value *V = rv.getAggregateAddr(); // TODO: volatile? 1 // FIXME: properly analyze this constraint: 1 /// FIXME: Do we want to support this now that we have bind()? 1 // FIXME: Remove CV. 1 assert(ResNo == 0 && "FIXME: ComplexPattern with multiple results?"); 1 // FIXME: We should do something similar if we merge two definitions of the 1 // TODO: Handle splats. 1 /// TODO: Determine isPreallocated flag by mapping between objects and local 1 // FIXME: Only 'min' and 'max' identifiers are supported for now. 1 // FIXME: we need a set of APIs that can make guarantees about whether a 1 // FIXME: This doesn't currently handle early-clobber or multiple removed 1 // FIXME: all this logic will change if/when we have MemRegion::getLocation(). 1 // FIXME: Add support for dependent-sized array types in C++? 2 // FIXME: What about other targets? 1 // FIXME: The merged type should be an ExtVector! 1 // FIXME: We don't handle _dq because it's a shift of an i128, but is 1 // FIXME: Fail if % is used with the last operand. 1 // FIXME: Should we cache this at all? 1 // FIXME: this function is currently a duplicate of the one in 1 // All we need are the default actions. FIXME: use a helper function. 1 // TODO: there are other patterns besides zero that we can usefully memset, 2 // FIXME: Perform checking of type validity 1 // TODO: support dynamic indexing on vector by change it to array. 1 /// FIXME: Make sure the lifetime of Identifiers/Selectors *isn't* tied to 1 // Sort SCEVUnknown values with some loose heuristics. TODO: This is 1 // FIXME: If the base type of the member expr is not FD->getParent(), 1 // FIXME: LLVM hardcodes it's prologue values. We just copy the 1 // TODO: return correct result. 1 // TODO: Using a latency of 1 here for output dependencies assumes 1 // FIXME: handle "template <> friend class A;", which 1 // FIXME: This is duplicated in several places. Refactor. 1 // FIXME: needed by operator delete 1 // FIXME: ParsePreprocessorArgs uses the FileManager to read the contents of 1 // FIXME: We shouldn't do this for TargetConstantFP's. 1 // TODO: Fix source location when Operands[J].end is right before '=', i.e: 1 /// TODO: Consider merging with ReplaceNodeResults. 1 else // FIXME -- should be AK_Written 1 // FIXME: always querying the result type is just an 1 // TODO: Complex patterns can't have output glues, if they did, we'd want 1 // TODO: Currently only works on linux with newer objcopy. 3 // FIXME: This comment doesn't sound right. If there is a r_brace 1 // FIXME: This assumes the caller has already checked that the access length 1 // FIXME: this expr should store IsArrow. 1 /// FIXME: Accept -1 stride and set IVLimit = IVInit - BECount 1 # FIXME: We aren't actually correctly checking for cycles along the 1 // FIXME: Make it work properly with modules. 1 // FIXME: Missing call to CheckFunctionDeclaration(). 1 // FIXME: Can we really import any initializer? Alternatively, we could force 1 // Fail on any bad TODO lines. 1 // FIXME: This feels like a hack. 1 // TODO: support other opcode if need. 1 // TODO: Move all global ctors functions to the end of the module for code 1 // FIXME: Find a good default for this flag and remove the flag. 2 // FIXME: Allow folding of values of any literal type in all languages. 1 // TODO: Handle other forms of branching with precision, including while- 1 // FIXME: don't ignore attributes. 1 // FIXME: Should make sure no callers ever do this. 9 // FIXME: For now, emit a dummy basic block because expr emitters in 1 // TODO: Handle C++ base classes. 1 // FIXME: also for 'this' 1 // FIXME: Update the code that emits this adjustment in thunks prologues. 1 // FIXME: we could just swap with the end of the list, then erase. However, 1 // FIXME: We want to replace is_integral_or_enum and is_pointer here with 1 // FIXME: Avoid walking the entire redeclaration chain here. 3 // TODO: Is it ever worth rewriting predecessors which don't already 1 // FIXME: size expression and attribute locations (or keyword if we 1 // FIXME: This can be made more efficient. 1 // FIXME: If ID && SpecialTypes[I] != ID, do we need a separate 1 // TODO: Check alignment of src and dest ptrs. 1 // FIXME: Currently this is not set correctly for breaks inside comments, as 1 // FIXME: This does not seem like a reasonable pattern to support, but it 1 // FIXME: ODR-checking for merging lambdas (this happens, for instance, 1 // FIXME: An unbounded array should reference the expression that defines 1 // TODO: SwitchInst. 1 /// FIXME: address space qualification? 1 /// FIXME: Finish documenting this. 1 self.add_valrule("Sm.NoPSOutputIdx", "Pixel shader output registers are not indexable.")# TODO restrict to PS 1 // FIXME: If MBB is non-null at this point, it is the last pre-computed block 1 /// TODO: diagnose attribute-specifiers and alignment-specifiers. 1 // TODO: For strncpy() and friends, this could suggest sizeof(dst) 1 // TODO: Serialize save and restore MBB references. 1 // FIXME: Where did the word "trailing" come from? 1 // FIXME: Should the Sema create the expression and embed it in the syntax 1 // TODO: check which dynamic linker name. 1 // FIXME: handle subsystem 1 // FIXME: Remove these restrictions in the future. 1 // TODO: This and the artificial type below are misleading, the 1 // FIXME: Do I need to do anything special with BoolTy expressions? 1 // FIXME: Reduce this API to a more narrow subset of std::vector 1 // FIXME: We should emit a warning here if the value is something other than 1 // FIXME: This needs to cope with merging of prototyped/non-prototyped 1 if (!F) // FIXME: errc::not_a_file? 1 // FIXME: Walk the definition, figure out what's different, 1 // FIXME: This warning is disabled in cases where it shouldn't be, 1 //===----------------------- TODO -----------------------------------------===// 1 // FIXME: Can we detect when the user just wrote an include guard above? 1 // FIXME: There should be a cleaner way to do this. 1 // FIXME: this might strip inner qualifiers; okay? 1 // FIXME: NumDataSuccs would be more precise than NumSuccs here. This 1 // FIXME: This is slightly inconsistent. 1 // FIXME: this is an inefficient way to handle this. We should computed the 1 // TODO: Sink autorelease calls as far as possible. Unfortunately we 1 // TODO: avoid integer overflow 1 // FIXME: Not too happy about invalidating the declaration 1 // TODO: Update BlobContainer.h to recognize 'RDAT' blob 1 // TODO: Add tests for HybridTypes. 1 // FIXME: Verify that this will correctly return a signed distance. 1 // FIXME: If/when .dump and .load are implemented they will be done in the 1 // FIXME: If CastToBase is non-0, we should prefix the output with 1 // FIXME: Handle related result types here. 1 // FIXME: A CXCursor_InclusionDirective should give the location of the 1 typedef ScopeNestEvent::BlockTy Block; // TODO: make this a template. 1 // FIXME: We no longer need the types from FunctionArgList; lift up and 1 // TODO : Remove this check once we support function declarations/pointers in HLSL 1 // FIXME: Conform to ABI ([[obj retain] autorelease]). 2 // FIXME: The formatting is still wrong here. 1 // FIXME: Closure-library specific stuff should not be hard-coded but be 1 // TODO: merge this with other aka printing above. 1 // FIXME: InstImpResults should not be part of DAGInstruction. 1 // TODO: move this back into ThreadSafety.cpp 1 // TODO: determine whether that's the right thing to do. 1 // TODO: Plumb the context instruction through to make hoisting and sinking 1 // TODO: K&R: the meaning of '\\a' is different in traditional C 2 # TODO: implement private headers 1 // FIXME: The next several lines are just 1 // TODO: We should run remove dead bindings here. 1 // FIXME: The following fields should not be mutable, but are for now so 1 // TODO: force type promotion to occur for arguments. 1 // TODO: Could ask the lattice function if the value can throw. 1 D = *I; // FIXME: this does not work with multiple inheritance. 1 // TODO: Parse offset and target flags. 1 // FIXME: This is overly conservative because it does not take into 1 // TODO: Flags: isContextSensitive etc. 1 // TODO: Is this correct? Does fxc support lvalue return here? 1 // FIXME: We really want to get out of the tool chain level argument 1 // FIXME: Is this wise? Should they get their own kind? 1 // FIXME: Look for a way to use RecordDecl for simple structs. 1 # FIXME: lldb should provide something like getCanonicalType 1 // FIXME: Disambiguate these cases. Note that the latter case is probably 1 // TODO: Parse the instruction flags and memory operands. 1 // FIXME: We no longer need the types from CallArgs; lift up and simplify. 1 // TODO: Add support for __vectorcall to LLVM. 1 /// FIXME: We should replace this with pointee_iterator> 1 // FIXME: Do not inline variadic calls. 1 // FIXME: Handle dependent types that aren't yet object types. 1 // FIXME: The logic for looking up nullary and unary selectors should be 1 /// TODO: This should be split into two enums: a runtime entry point enum 1 // FIXME: Is this always true? 1 // FIXME: VR def may not be in entry block. 1 // FIXME: How can this even happen? 1 // FIXME: Eliminate this dependency. 1 // TODO: mark whether we did this inference? 2 // TODO: We can create TokenFactor node instead of 1 // FIXME: location of the 'decltype' and parens. 1 // FIXME: This is a hack to make sure the summary log gets cleared between 1 // FIXME: PushOnScopeChains? 2 // FIXME: Replace this function with a create-only facilty like 1 EXPECT_EQ(Some.shl(Wrap), Full); // TODO: [0xa, 0x7ff << 0x5 + 1) 1 Record.push_back((unsigned)D->getTagKind()); // FIXME: stable encoding 1 // FIXME: change this to use the more-rich 'getPredicateOnEdge' method if 1 // FIXME: Unimplemented. 1 // FIXME: Check consistency if we have an old and new operator delete. 1 // FIXME: Also include types here. 1 // FIXME: This isn't correct; it assumes that multiple OpaqueValueExprs 1 // FIXME: Also consider what happens for something like this that involves 1 // FIXME: Canonicalize bitcast(insertelement) -> insertelement(bitcast) 1 //FIXME: should we report or raise here? 1 /// TODO: It would really be nice to make _Pragma just be a wrapper around a 1 // TODO: don't diagnose for inaccessible shadowed members. 1 // TODO: Check to see if this is a CONCAT_VECTORS of a bunch of 1 // FIXME: Handle environment options which affect driver behavior, somewhere 1 /// FIXME: Remove this. Users should use DILocation/DILocalScope API to 1 /*FIXME: Default argument*/nullptr); 1 // FIXME: We should sink the escape vs. abort info into the caller nicely, 1 // FIXME: These can be defined in one place... except special member 1 // FIXME: Sink these functions down into DwarfFile/Dwarf*Unit. 1 /// FIXME: This is an egregious hack because querying the pass registry is 1 // FIXME: Complain about ODR violations here? 1 // FIXME: Add diagnostic? 1 # FIXME: Technically, we need to properly quote for Make here. 1 /// FIXME: When the cost model will be mature enough, we can relax 1 // FIXME: We would really like to refer back to where the symbol was 1 // FIXME: Support correlated properties, like: 1 // FIXME: There seems to be no point in delaying this, it does not depend 1 // FIXME: some uses, e.g. conditional exprs, really want this to be 'both'. 1 // FIXME: Proper error handling. 1 // TODO: Investigate using GetExprRange() to get tighter bounds 1 // FIXME: right now we emulate params with loads; that should be fixed. 1 // FIXME -- Check the type that the smart pointer points to. 1 // FIXME: Note that currently we make a very conservative estimate of the 1 // FIXME: It would be nice to not claim this here; maybe the old scheme of 1 // FIXME: DependentTypeOfExprType 1 // TODO: support out modifier 1 /// FIXME: What other kind of declarations would we need to generalize 1 // FIXME: This mimics what GCC implements, but doesn't match up with the 1 // TODO: add support for quoted names. 1 // TODO: Finish this list and add an assert that we've handled them 1 // FIXME: stable encoding 2 // FIXME: We should use ranges allow reordering of code ala 1 // FIXME: exception specs 1 // FIXME: A typedef declaration has linkage if it gives a type a name for 1 // FIXME: Rethrow? 1 // TODO: until an interface to file access is defined and implemented, simply fall back to pure Win32/CRT calls. 2 // FIXME: Register size should be a parameter to this function, so we can 1 // TODO: Forbid the other integer types (size_t, ptrdiff_t...) when they can 1 // FIXME: Collapse this into TemplateParamPosition; or, just move depth/index 1 // TODO: It might be nice to get a maximum length out of the possible 1 /// TODO: Hoist loop induction variable increments. This has to be 1 // TODO: This should be replaced with a target query. 1 // FIXME: ISD::SELECT, ISD::SELECT_CC 1 // FIXME: We don't really want to use getBaseRegion() here because pointer 1 // them. TODO: Teach operation legalization how to expand unsupported 1 // TODO: this should be re-enabled for static locals by !CXAAtExit 1 // FIXME: We ignore attributes for now. 1 // FIXME: Even if this merging succeeds, some other non-visible declaration 1 // TODO: Use information from tests in for- and while-loop conditional. 1 // FIXME: Look into directly passing the FileEntry from LookupFile instead. 1 // FIXME: Handle #assert 1 // FIXME: What if other value results of the node have uses not matched 1 // TODO: handle shorthand cases. 1 // TODO: Currently, all of these operands are being marked as read/write in 1 // FIXME: C calling convention requires the return type to be promoted to 1 // FIXME: This should eventually be extended to be a post-dominator tree 1 // TODO: consider what to do when convertToInteger fails 1 // FIXME: Make sure we use the 'R' for the path that was actually used. 1 // TODO: Should we have an unmangled name here for ray tracing shaders? 1 // TODO: Add reference and pointer typedefs (with some appropriate proxy 2 // FIXME: If the GEP is not inbounds, and there are extra indices after the 1 // TODO List: 1 // TODO: Print the other machine operands. 1 /// TODO: Maybe move into common code 1 /// TODO: Write a new FunctionPass AliasAnalysis so that it can keep 1 // FIXME: I don't like this name. 1 // FIXME: Note, this is a hack. We need to pass the selected float 1 // readWrite = ShaderAccessFlags::DescriptorRead; // TODO: Support 1 // FIXME: Here we actually perform an implicit conversion from the loaded 3 // FIXME: Calculate correct addends for R_MIPS_HI16, R_MIPS_LO16, 1 // TODO: These should become properties of the GCStrategy, possibly with 1 // FIXME: We're emitting LSDA info into a readonly section on COFF, even 1 // FIXME: If the destination is a Thumb function (and the instruction 1 // FIXME: Why do we allocate this? 1 // TODO: would be nice to check for the actual attribute (e.g. readonly) 1 // FIXME: Some of the 8 bits require fix up. 1 // FIXME: This does not handle register-indirect values at offset 0. 1 // FIXME: This should really be asserting this: 1 // FIXME: Eventually, a NULL return will mean that one of the 1 // FIXME: The hack below doesn't work for bitfields. For now, we simply 1 # FIXME: It would be great to support an efficient version 2 // FIXME: Blocks might have a return type of 'auto' explicitly specified. 1 // FIXME: Add error propagation to the interface. 1 // FIXME: If we ever want to show these implicit accesses, this will be 1 // TODO: validate flags foreach entry. 1 // FIXME: This should be const. 2 // FIXME: The "Value" is an uint64_t so we can handle char literals of 1 // TODO: A high level intrinsic for matrix array copy with orientation 1 // FIXME: The current implementation does not account for pairs that 1 // FIXME: Deal with header maps. 1 // FIXME: Before we leave this submodule, we should parse all the other 1 // TODO: I would like to see these prefixed with m_ 1 // FIXME: Check that the base class member is accessible? 1 /// TODO: Handle pre/postinc as well. 3 // FIXME -- deal with exclusive vs. shared unlock functions? 1 // TODO: Move this to ValueEnumerator::EnumerateOperandType() once bitcode 1 // FIXME: Actually build a CXXDefaultInitExpr? 1 // FIXME: Check for more interesting cases, like "x.n = ++x.n". 1 // TODO: validate address space and alignment 1 // FIXME: emitDecoder() function can take a buffer directly rather than 1 // FIXME: The use if InSet = Addrs is a hack. Setting InSet causes us 1 // TODO: add a flag to update the module and remove information that is not part 1 # TODO: Enable for MinGW Windows builds too. 1 /// FIXME: Overload to allow directly matching types? 1 /// FIXME: This should be hoisted into a generic utility, likely in 1 // FIXME: If running after legalize, we probably can't do this. 1 // FIXME: This is not ideal yet. 1 // TODO: -fpreprocessed mode?? 1 // TODO: kill this function off, inline appropriate case here 1 // TODO: other template argument types? 1 // TODO: save globalcoherent to variable in EmitHLSLBuiltinCallExpr. 2 // FIXME: Include sizes from all submodules, and include MacroInfo sizes, 1 // FIXME: If Amt is zero, the following shift generates an undefined result 1 /* TODO: This func is now pretty freakin complex due to zip64, split it up? */ 1 // that are viable for inlining. FIXME: We shouldn't even get here for 1 // FIXME: Currently the state might already contain the marker due to 1 // FIXME: Handle C99's complex types, vector types, block pointers and Obj-C++ 1 // FIXME: Should this be using FuncInfo.HandlerBaseState? 1 // TODO: support case when save dynamic resource as local array element. 1 // FIXME: Notify subsequent callbacks if info comes from implicit 1 // FIXME: We should probably sink the logic for handling these from the 1 /// FIXME: When all targets are 1 // FIXME: Get proper printing options. 2 // FIXME: Eliminate the llvm_shutdown requirement, that should either be part 1 // FIXME: not implemented. 1 // FIXME: This is still incorrectly handled at the formatter side. 1 // TODO: Figure out sane writer behavior for a TypoExpr, if necessary 1 // TODO: how to get col? 1 KEYWORD(deplibs); // FIXME: Remove in 4.0. 1 // FIXME: If the memory unit is of pointer or integer type, we can permit 1 // TODO: Verify the result when reflect the structures. 1 // FIXME: Loop unroll requires LCSSA. And LCSSA requires dom info. 1 // FIXME: Traditional: # with whitespace before it not recognized by K&R? 1 // FIXME: This is a hack to statically increase the priority of patterns 1 // FIXME: If DIEBlock and DIELoc just reuses the Size field of 1 // FIXME: It would be wonderful if we could point at the actual member. In 1 // FIXME: It seems bad to use RegSeen only for some of these calculations. 1 // TODO: TYPE_CONVERSION_BY_REFERENCE does not seem possible here 1 // FIXME: Include the path in the diagnostic. 1 // FIXME: We are constantly running into bugs where Line.Level is incorrectly 1 // FIXME: Fold this into the 'auto' codepath above. 1 // TODO: Serialize the virtual register hints. 1 // TODO: Take notes on state transitions to provide better warning messages. 1 // TODO: validate no recursion start from every function. 1 // FIXME - If finding successor is compile time expensive then cache results. 1 // FIXME: We could eliminate C++ destructors if they're readonly/readnone and 1 // FIXME: We're missing a lot of these checks. 1 // TODO: Not supporting dynamic indexing yet, should be pulled from CreateHandleForLib 1 // FIXME: This isn't covered by tests. 1 // FIXME: This might not be the best algorithm for finding bit test clusters. 1 // FIXME: Handle the 'framework' keyword. 1 // FIXME: Use ARMTargetParser. 1 // TODO: Consider a target hook for valid address spaces for this xform. 1 // FIXME: TryParseSimpleDeclaration doesn't look past the first initializer, 1 // FIXME: It isn't clear whether this should ever be needed; 1 // FIXME: Since the return type isn't actually parsed, it can't be used to 1 // FIXME: StringSet should have insert(iter, iter) to use here. 1 // FIXME: What about references? 1 // FIXME: Can we avoid creating a fake variable here, since this empty 1 // FIXME: In this case, the values of the other subobjects are 1 // FIXME: This is hideous. We need to teach PushOnScopeChains to 1 // FIXME: We need a callback mechanism for the tool writer to output a 1 // FIXME: Visit the "outer" template parameter lists on the FunctionDecl 1 // FIXME: Do something a bit more intelligent inside constructor and 1 // FIXME: It's not clear whether we should use the driver's installed 2 // TODO: It would be possible to merge the extensions in some cases. 1 // FIXME: What if other value results of the node have uses not matched 1 // FIXME: Why isn't ImplicitParamDecl a ParmVarDecl? 1 // FIXME: This method is inherently x86-specific. It should really be in the 1 // FIXME: Currently, this maps to ExpectedMethod based on existing code, 1 // FIXME: Dropping the reference type on the type into makes it 1 // FIXME: Pick up all the declarations if we found an overloaded function. 1 // TODO: should we do a contextual conversion? 1 // FIXME: Missing: array subscript of vector, member of vector 2 // FIXME: handle forward protocol that are declared across multiple lines. 4 // FIXME: This area of the standard is very messy, and the current 1 // FIXME: These can never be null and should be references. 1 /// FIXME: We could derive the result of steps 1 and 2 from a description of 1 // FIXME: This is a temporary measure until we have reworked the ownership 1 // FIXME: Assess perf here? Figure out what cases are worth optimizing here 1 // FIXME: this is incorrect for WinCE 1 # TODO: Add an option not to build. 1 // FIXME: If the type is a pointer-to-data-member under the Itanium ABI, 1 print("// TODO: add correct include directives") 1 // TODO: We might want to return a different type here (ex: id (*ty)(...)) 1 // TODO: Stolen from Brandon's code 1 // FIXME: implement the rest. 4 // TODO: should we print "virtual"? 1 #TODO: remove code which dependent on g_MaxIntrinsic*. 1 // FIXME: Reconstruct dom info, because it is not preserved properly. 2 // TODO: Store the mapping between object IDs and object indices to print 1 // FIXME: Implement complex compound assignment. 1 /// FIXME: Support 'private textual header'. 1 /// TODO: Constant folding function: Constant* vector -> Constant*. 1 // FIXME: WIntType should be SignedLong 1 // FIXME: Attributes 1 // FIXME: To TableGen this we need to make some table generated files available 1 // TODO: base this on the number of branch-afters and fixups 1 // FIXME: If the call to this decl is using any of its default arguments, we 1 // FIXME: We should check as much as we can in the template definition. 1 // TODO: replace this with FlagArtificial|FlagObjectPointer. 1 // FIXME: This is searching much more than necessary, but I am 1 // FIXME: Do not assign to a vbase that will be assigned by some other base 1 // FIXME: Handle error! 1 // FIXME: This should really be AA driven. 1 // TODO: harden to allocation failures - HLSL Change 1 // TODO: Generalize this to non-constants by using known-bits information. 1 // TODO: Be less conservative when the type is similar and can use the same 1 // FIXME: Should we move this initialization into a separate 1 // FIXME: Currently, we fall through and treat C++ classes like C 1 // FIXME: but we might be increasing its access, in which case we 1 // FIXME: unify ClassTemplateSpecializationDecl and TemplateSpecializationType's 1 // FIXME: Consider sinking this into lib/Target/X86 somehow. TargetLowering 1 // FIXME: Maybe split this sanitizer out from float-cast-overflow. 1 // TODO: implement template parameter constraints for HLSL intrinsic methods in declarations 1 // FIXME: Provide a source location here. 1 // FIXME - Use iterator. 1 # FIXME Support slice objects. 1 # TODO: uncomment assert when opcodes are fixed 1 // TODO: Extract DWARF dump tool to objdump. 1 // FIXME: Don't compute this in advance, it makes every token larger, and is 1 // FIXME: Why do this only on this path? 1 // FIXME: This assumes PEI locate spill slot with smaller indices 1 // TODO: Consider using bitvectors for liveness, the set of potentially 1 EXPECT_EQ(One.shl(Wrap), Full); // TODO: [0xa, 0xa << 14 + 1) 1 // FIXME: For now, allow reinitialization as long as values don't 1 // FIXME: determine better conditions for this xform. 2 // FIXME: Add a flag for modules. 1 // TODO: The ordering of the 2 words depends on the endian-ness of the 1 // FIXME: This changes CPP defines, we need -target-soft-float. 1 // TODO: This could be done in Driver 1 // FIXME: The function declaration we're constructing here is mostly reusing 1 // TODO: patch constant function in hull shader 1 // FIXME: We can extend the number of predecessor, but in that case, we 1 // FIXME: Handle other kinds of trivial constructors as well. 1 // TODO: determine whether values are actually loop dependent, not just in a loop 1 // FIXME: This atrocity is temporary. 1 // FIXME: this isn't fully correct; we also need to test whether the 1 // FIXME: This check isn't quite right: it allows star in prototypes 1 // FIXME: Deal with macros-only imports. 1 // FIXME: handle properties that are declared across multiple lines. 2 // FIXME: This is the wrong BadConversionSequence. The problem is binding 1 // FIXME: Non-trivial to implement, but important for C++ 3 // FIXME: Implement! 3 // FIXME: This could be coincidental. Should we really check for a tied 1 // FIXME: Figure out whether it makes sense to allow this 1 # FIXME: We should use multiple check prefixes to common check lines. For 1 // TODO: code completion for a built-in method 1 TODO - fix this case to avoid expression ambiguity 1 // FIXME: This is a bit of a hack. We should really unify this code for 1 // FIXME: This logic isn't really right; we can safely inline functions with 1 // FIXME: Does GCC differ between lvalue and rvalue references here? 1 // FIXME: This should be NumberOfRvaAndSizes. 1 // FIXME - Eliminate TheCU. 1 /* FIXME: setting StartLoc == Loc. 1 // FIXME: it only parses "Linker Options" metadata at the moment 1 // FIXME: init MCOptions from sanitizer flags here. 1 // FIXME: Diagnostics here should point to the end of the initializer 1 // TODO: make sure all cases are supported. 1 // FIXME: Actually try to merge the body and other attributes. 1 // FIXME: Other qualifiers? 1 // TODO: Add deprecation notice for this form. 1 // FIXME need to be more flexible about rounding mode. 3 // FIXME: Only allow the 3-field form in LLVM 4.0. 1 // FIXME: we should probably add a SMLoc to MCExpr. 1 // FIXME: CounterValue? 1 // FIXME: If clang-format writes enough to the standard error stream to block, 1 // FIXME: This does not currently preserve SimplifyLoop because the exit 1 // TODO: We can add more logic to computeInfo to improve performance. 1 // TODO: if dbgFunction is NULL, it is a member function without 1 // FIXME: Mark the variable as uninitialized whenever its scope is 1 // FIXME: There is more per-file stuff we could just drop here? 1 DEF_TRAVERSE_DECL(ObjCInterfaceDecl, {// FIXME: implement 2 // FIXME: Needs the FlagAppleBlock bit. 2 print("// TODO: add validation support code, including calling into right fn") 1 // FIXME: if we had information about the location of the ellipsis, we 1 /// TODO: Drop unused accessors. 1 // TODO: This isn't quite right. We need to handle these according to 1 // TODO: This logic is the same as in Malloc checker. 1 // FIXME: SplitAnalysis may repair broken live ranges coming from the 1 /// same instantiation. FIXME: Does this belong in Sema? It's tough 1 // FIXME: Don't do this here. 1 // FIXME: This cleanup might chain into another, and we need to discover 1 // TODO: In "large" mode, a pointer to a BitVector is used, leading to an 1 // FIXME: calcLiveBlockInfo found inconsistencies in the live range. 1 //TODO: perform validation 1 // FIXME: Implement support for BindKind. 1 // FIXME: maybe we should be doing things differently for all the 1