From: Chris Lattner Date: Tue, 18 Nov 2008 21:53:02 +0000 (+0000) Subject: Allow diagnostics to be used in bool context, like: X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=95d1ba492c3191f49392e53acbf878e39fc8ba0a;p=clang 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 fb3e5953da..3edf990d24 100644 --- a/include/clang/Basic/Diagnostic.h +++ b/include/clang/Basic/Diagnostic.h @@ -243,6 +243,11 @@ public: 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; }