Allow diagnostics to be used in bool context, like:
return Diag(...);
when the function returns bool. This always evaluates to true.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59555 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Basic/Diagnostic.h b/include/clang/Basic/Diagnostic.h
index fb3e595..3edf990 100644
--- a/include/clang/Basic/Diagnostic.h
+++ b/include/clang/Basic/Diagnostic.h
@@ -243,6 +243,11 @@
const Diagnostic *getDiags() const { return DiagObj; }
unsigned getID() const { return DiagID; }
const FullSourceLoc &getLocation() const { return Loc; }
+
+ /// Operator bool: conversion of DiagnosticInfo to bool always returns true.
+ /// This allows is to be used in boolean error contexts like:
+ /// return Diag(...);
+ operator bool() const { return true; }
unsigned getNumArgs() const { return DiagObj->NumDiagArgs; }