aaron.ballman added inline comments.

================
Comment at: clang/include/clang/Basic/Sarif.h:157
+/// 1. <a 
href="https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html#_Toc34317648";>level
 property</a>
+enum class SarifResultLevel { Note, Warning, Error };
+
----------------
vaibhav.y wrote:
> aaron.ballman wrote:
> > Should this include `Remark` for diagnostics like: 
> > https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/DiagnosticFrontendKinds.td#L55
> > 
> > If not, I think the comments should explain how to map remarks to one of 
> > these levels.
> Ack, if we're adding `remark`, should I also add support the 
> "informational"/"fail" result kind that was previously discussed by you? 
> Currently there's no `kind`, so we are defaulting to "fail".
I think we should, but it could be done in a follow-up commit. Remarks aren't 
the most common of diagnostics (they're infrequent unless you're asking for 
them), but they certainly exist and we should have some plan for them. Doing it 
as a separate patch means we don't have to think about things like "What does 
it mean to have an optimization report in SARIF? What should that look like?" 
quite yet.


================
Comment at: clang/lib/Basic/Sarif.cpp:25
 #include "llvm/Support/ConvertUTF.h"
+#include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/JSON.h"
----------------
vaibhav.y wrote:
> aaron.ballman wrote:
> > Why was this include required?
> It provides `llvm_unreachable`. so far it was available transitively, must 
> have been added when I implemented `resultLevelToStr(...)`.
> 
> I don't feel strongly about keeping this though.
Yeah, that's one I'd drop as it's transitively included through many different 
interfaces already. But I don't feel strongly because IWYU is a nice approach 
too.


================
Comment at: clang/lib/Basic/Sarif.cpp:396-399
+  if (Result.LevelOverride.hasValue())
+    Ret["level"] = resultLevelToStr(Result.LevelOverride.getValue());
+  else
+    Ret["level"] = resultLevelToStr(Rule.DefaultConfiguration.Level);
----------------
vaibhav.y wrote:
> aaron.ballman wrote:
> > (Probably have to re-run clang-format)
> Good catch! I notice Optional<T> has `value_or`, is that okay as well here?
Oh yes, that's even better!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131084/new/

https://reviews.llvm.org/D131084

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to