================ @@ -22,6 +23,67 @@ namespace llvm { class LLVMContext; class raw_ostream; class DILocation; + class Function; + +#if ENABLE_DEBUGLOC_COVERAGE_TRACKING + // Used to represent different "kinds" of DebugLoc, expressing that a DebugLoc + // is either ordinary, containing a valid DILocation, or otherwise describing + // the reason why the DebugLoc does not contain a valid DILocation. + enum class DebugLocKind : uint8_t { + // DebugLoc is expected to contain a valid DILocation. + Normal, + // DebugLoc intentionally does not have a valid DILocation; may be for a + // compiler-generated instruction, or an explicitly dropped location. + LineZero, ---------------- jryans wrote:
Hmm, I'd really prefer the name of this case to clearly state the "intentional" aspect. Perhaps `IntentionallyZero`...? Another approach might be to have separate enum values for the different reasons, e.g. `CompilerGenerated`, `ExplicitlyDropped`, and whatever the others might be. Stating these cases very clearly, not just in comments, but also via enum value would appear to be a very valuable capturing of intent to me. (However, maybe it is too much trouble to do so...? Please say that if so.) https://github.com/llvm/llvm-project/pull/107279 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits