Author: akirtzidis Date: Mon Feb 27 15:09:45 2012 New Revision: 151566 URL: http://llvm.org/viewvc/llvm-project?rev=151566&view=rev Log: Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h" to make it more widely available.
Depends on llvm commit r151564 Removed: cfe/trunk/include/clang/Analysis/Support/SaveAndRestore.h Modified: cfe/trunk/include/clang/Basic/LLVM.h cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp cfe/trunk/lib/Analysis/CFG.cpp cfe/trunk/lib/Analysis/UninitializedValues.cpp cfe/trunk/lib/Serialization/ASTReader.cpp cfe/trunk/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp cfe/trunk/tools/libclang/CIndex.cpp Removed: cfe/trunk/include/clang/Analysis/Support/SaveAndRestore.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Support/SaveAndRestore.h?rev=151565&view=auto ============================================================================== --- cfe/trunk/include/clang/Analysis/Support/SaveAndRestore.h (original) +++ cfe/trunk/include/clang/Analysis/Support/SaveAndRestore.h (removed) @@ -1,47 +0,0 @@ -//===-- SaveAndRestore.h - Utility -------------------------------*- C++ -*-=// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides utility classes that uses RAII to save and restore -// values. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_ANALYSIS_SAVERESTORE -#define LLVM_CLANG_ANALYSIS_SAVERESTORE - -namespace clang { - -// SaveAndRestore - A utility class that uses RAII to save and restore -// the value of a variable. -template<typename T> -struct SaveAndRestore { - SaveAndRestore(T& x) : X(x), old_value(x) {} - SaveAndRestore(T& x, const T &new_value) : X(x), old_value(x) { - X = new_value; - } - ~SaveAndRestore() { X = old_value; } - T get() { return old_value; } -private: - T& X; - T old_value; -}; - -// SaveOr - Similar to SaveAndRestore. Operates only on bools; the old -// value of a variable is saved, and during the dstor the old value is -// or'ed with the new value. -struct SaveOr { - SaveOr(bool& x) : X(x), old_value(x) { x = false; } - ~SaveOr() { X |= old_value; } -private: - bool& X; - const bool old_value; -}; - -} -#endif Modified: cfe/trunk/include/clang/Basic/LLVM.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LLVM.h?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/LLVM.h (original) +++ cfe/trunk/include/clang/Basic/LLVM.h Mon Feb 27 15:09:45 2012 @@ -29,6 +29,9 @@ template<typename T, unsigned N> class SmallVector; template<typename T> class SmallVectorImpl; + template<typename T> + struct SaveAndRestore; + // Reference counting. template <typename T> class IntrusiveRefCntPtr; template <typename T> struct IntrusiveRefCntPtrInfo; @@ -56,6 +59,7 @@ using llvm::SmallString; using llvm::SmallVector; using llvm::SmallVectorImpl; + using llvm::SaveAndRestore; // Reference counting. using llvm::IntrusiveRefCntPtr; Modified: cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp (original) +++ cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp Mon Feb 27 15:09:45 2012 @@ -11,7 +11,7 @@ #include "Internals.h" #include "clang/Lex/Lexer.h" #include "clang/Basic/SourceManager.h" -#include "clang/Analysis/Support/SaveAndRestore.h" +#include "llvm/ADT/SaveAndRestore.h" #include "clang/Sema/SemaDiagnostic.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/TinyPtrVector.h" Modified: cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp (original) +++ cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp Mon Feb 27 15:09:45 2012 @@ -24,7 +24,7 @@ #include "clang/Analysis/CFG.h" #include "clang/Analysis/CFGStmtMap.h" #include "clang/Analysis/Support/BumpVector.h" -#include "clang/Analysis/Support/SaveAndRestore.h" +#include "llvm/ADT/SaveAndRestore.h" #include "llvm/ADT/SmallSet.h" #include "llvm/Support/ErrorHandling.h" Modified: cfe/trunk/lib/Analysis/CFG.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/CFG.cpp?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/lib/Analysis/CFG.cpp (original) +++ cfe/trunk/lib/Analysis/CFG.cpp Mon Feb 27 15:09:45 2012 @@ -12,7 +12,7 @@ // //===----------------------------------------------------------------------===// -#include "clang/Analysis/Support/SaveAndRestore.h" +#include "llvm/ADT/SaveAndRestore.h" #include "clang/Analysis/CFG.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/StmtVisitor.h" Modified: cfe/trunk/lib/Analysis/UninitializedValues.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/UninitializedValues.cpp?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/lib/Analysis/UninitializedValues.cpp (original) +++ cfe/trunk/lib/Analysis/UninitializedValues.cpp Mon Feb 27 15:09:45 2012 @@ -21,7 +21,7 @@ #include "clang/Analysis/AnalysisContext.h" #include "clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h" #include "clang/Analysis/Analyses/UninitializedValues.h" -#include "clang/Analysis/Support/SaveAndRestore.h" +#include "llvm/ADT/SaveAndRestore.h" using namespace clang; Modified: cfe/trunk/lib/Serialization/ASTReader.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/lib/Serialization/ASTReader.cpp (original) +++ cfe/trunk/lib/Serialization/ASTReader.cpp Mon Feb 27 15:09:45 2012 @@ -27,7 +27,7 @@ #include "clang/AST/NestedNameSpecifier.h" #include "clang/AST/Type.h" #include "clang/AST/TypeLocVisitor.h" -#include "clang/Analysis/Support/SaveAndRestore.h" +#include "llvm/ADT/SaveAndRestore.h" #include "clang/Lex/MacroInfo.h" #include "clang/Lex/PreprocessingRecord.h" #include "clang/Lex/Preprocessor.h" Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp (original) +++ cfe/trunk/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp Mon Feb 27 15:09:45 2012 @@ -15,7 +15,7 @@ #include "ClangSACheckers.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/StmtVisitor.h" -#include "clang/Analysis/Support/SaveAndRestore.h" +#include "llvm/ADT/SaveAndRestore.h" #include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h" #include "clang/StaticAnalyzer/Core/Checker.h" #include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h" Modified: cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp (original) +++ cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp Mon Feb 27 15:09:45 2012 @@ -14,7 +14,7 @@ #include "clang/StaticAnalyzer/Core/CheckerManager.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h" -#include "clang/Analysis/Support/SaveAndRestore.h" +#include "llvm/ADT/SaveAndRestore.h" #include "clang/AST/DeclCXX.h" using namespace clang; Modified: cfe/trunk/tools/libclang/CIndex.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=151566&r1=151565&r2=151566&view=diff ============================================================================== --- cfe/trunk/tools/libclang/CIndex.cpp (original) +++ cfe/trunk/tools/libclang/CIndex.cpp Mon Feb 27 15:09:45 2012 @@ -35,7 +35,7 @@ #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/Optional.h" #include "llvm/ADT/StringSwitch.h" -#include "clang/Analysis/Support/SaveAndRestore.h" +#include "llvm/ADT/SaveAndRestore.h" #include "llvm/Support/CrashRecoveryContext.h" #include "llvm/Support/PrettyStackTrace.h" #include "llvm/Support/MemoryBuffer.h" _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits