diff options
| author | Douglas Gregor <dgregor@apple.com> | 2009-11-12 16:49:45 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2009-11-12 16:49:45 +0000 | 
| commit | 6051c8d344cc15d41bcabb49862d1bb3b92c2934 (patch) | |
| tree | da31f4f4e55fa24f98354ef7658d8d7c632b6121 | |
| parent | a70ad93f8a487fded82f334c34604b71a8dcff2d (diff) | |
| download | bcm5719-llvm-6051c8d344cc15d41bcabb49862d1bb3b92c2934.tar.gz bcm5719-llvm-6051c8d344cc15d41bcabb49862d1bb3b92c2934.zip  | |
Give CanQual<T> an implicit conversion to bool, so that it can be used
in "if" statements like:
  if (CanQual<ReferenceType> RefType = T.getAs<ReferenceType>())
Thanks to Clang for pointing out this mistake :)
llvm-svn: 86995
| -rw-r--r-- | clang/include/clang/AST/CanonicalType.h | 3 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 2 | 
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/include/clang/AST/CanonicalType.h b/clang/include/clang/AST/CanonicalType.h index a7750517090..a53f2f48fd2 100644 --- a/clang/include/clang/AST/CanonicalType.h +++ b/clang/include/clang/AST/CanonicalType.h @@ -71,6 +71,9 @@ public:    /// \brief Implicit conversion to a qualified type.    operator QualType() const { return Stored; } +  /// \brief Implicit conversion to bool. +  operator bool() const { return !isNull(); } +      bool isNull() const {      return Stored.isNull();    } diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index d094ea4b0fa..84934f5baf8 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -4014,7 +4014,7 @@ bool Sema::CheckOverloadedOperatorDeclaration(FunctionDecl *FnDecl) {      if (!ResultTy->isDependentType() && ResultTy != Context.VoidPtrTy)        return Diag(FnDecl->getLocation(),                    diag::err_operator_new_result_type) << FnDecl->getDeclName() -                  << Context.VoidPtrTy; +                  << static_cast<QualType>(Context.VoidPtrTy);      return ret;    }  | 

