Did you do this manually? or did you make a tool with Clang? If it's the latter, that's awesome and it would be cool if you wrote a blog post for <<a href="http://blog.llvm.org/">http://blog.llvm.org/</a>> about dogfooding clang.<div>
<br></div><div>--Sean Silva<br><br><div class="gmail_quote">On Sat, Sep 15, 2012 at 4:20 PM, Dmitri Gribenko <span dir="ltr"><<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: gribozavr<br>
Date: Sat Sep 15 15:20:27 2012<br>
New Revision: 163983<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=163983&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=163983&view=rev</a><br>
Log:<br>
Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.<br>
<br>
Modified:<br>
    cfe/trunk/include/clang/AST/ASTContext.h<br>
    cfe/trunk/include/clang/AST/DeclObjC.h<br>
    cfe/trunk/include/clang/AST/Expr.h<br>
    cfe/trunk/include/clang/AST/RecordLayout.h<br>
    cfe/trunk/include/clang/AST/Type.h<br>
    cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h<br>
    cfe/trunk/include/clang/Basic/Diagnostic.h<br>
    cfe/trunk/include/clang/Basic/IdentifierTable.h<br>
    cfe/trunk/include/clang/Driver/Arg.h<br>
    cfe/trunk/include/clang/Driver/ArgList.h<br>
    cfe/trunk/include/clang/Frontend/ASTUnit.h<br>
    cfe/trunk/include/clang/Frontend/CompilerInstance.h<br>
    cfe/trunk/include/clang/Frontend/VerifyDiagnosticConsumer.h<br>
    cfe/trunk/include/clang/Lex/HeaderMap.h<br>
    cfe/trunk/include/clang/Lex/Lexer.h<br>
    cfe/trunk/include/clang/Lex/PTHLexer.h<br>
    cfe/trunk/include/clang/Lex/PreprocessorLexer.h<br>
    cfe/trunk/include/clang/Lex/TokenLexer.h<br>
    cfe/trunk/include/clang/Parse/Parser.h<br>
    cfe/trunk/include/clang/Rewrite/Core/DeltaTree.h<br>
    cfe/trunk/include/clang/Rewrite/Core/RewriteRope.h<br>
    cfe/trunk/include/clang/Rewrite/Core/TokenRewriter.h<br>
    cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h<br>
    cfe/trunk/include/clang/Sema/DeclSpec.h<br>
    cfe/trunk/include/clang/Sema/DelayedDiagnostic.h<br>
    cfe/trunk/include/clang/Sema/Sema.h<br>
    cfe/trunk/include/clang/Sema/TemplateDeduction.h<br>
    cfe/trunk/include/clang/Serialization/ASTReader.h<br>
    cfe/trunk/include/clang/Serialization/ContinuousRangeMap.h<br>
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h<br>
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h<br>
    cfe/trunk/lib/AST/RecordLayoutBuilder.cpp<br>
    cfe/trunk/lib/CodeGen/CGRecordLayout.h<br>
    cfe/trunk/lib/CodeGen/CodeGenFunction.h<br>
    cfe/trunk/lib/CodeGen/CodeGenModule.h<br>
    cfe/trunk/lib/Parse/RAIIObjectsForParser.h<br>
    cfe/trunk/lib/Serialization/ASTReaderDecl.cpp<br>
    cfe/trunk/tools/libclang/IndexingContext.h<br>
<br>
Modified: cfe/trunk/include/clang/AST/ASTContext.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTContext.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTContext.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/AST/ASTContext.h (original)<br>
+++ cfe/trunk/include/clang/AST/ASTContext.h Sat Sep 15 15:20:27 2012<br>
@@ -2027,8 +2027,8 @@<br>
   static unsigned NumImplicitDestructorsDeclared;<br>
<br>
 private:<br>
-  ASTContext(const ASTContext&); // DO NOT IMPLEMENT<br>
-  void operator=(const ASTContext&); // DO NOT IMPLEMENT<br>
+  ASTContext(const ASTContext &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const ASTContext &) LLVM_DELETED_FUNCTION;<br>
<br>
 public:<br>
   /// \brief Initialize built-in types.<br>
<br>
Modified: cfe/trunk/include/clang/AST/DeclObjC.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclObjC.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclObjC.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/AST/DeclObjC.h (original)<br>
+++ cfe/trunk/include/clang/AST/DeclObjC.h Sat Sep 15 15:20:27 2012<br>
@@ -33,8 +33,8 @@<br>
 class CXXCtorInitializer;<br>
<br>
 class ObjCListBase {<br>
-  void operator=(const ObjCListBase &);     // DO NOT IMPLEMENT<br>
-  ObjCListBase(const ObjCListBase&);        // DO NOT IMPLEMENT<br>
+  ObjCListBase(const ObjCListBase &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const ObjCListBase &) LLVM_DELETED_FUNCTION;<br>
 protected:<br>
   /// List is an array of pointers to objects that are not owned by this object.<br>
   void **List;<br>
<br>
Modified: cfe/trunk/include/clang/AST/Expr.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/AST/Expr.h (original)<br>
+++ cfe/trunk/include/clang/AST/Expr.h Sat Sep 15 15:20:27 2012<br>
@@ -1132,8 +1132,8 @@<br>
<br>
   bool hasAllocation() const { return llvm::APInt::getNumWords(BitWidth) > 1; }<br>
<br>
-  APNumericStorage(const APNumericStorage&); // do not implement<br>
-  APNumericStorage& operator=(const APNumericStorage&); // do not implement<br>
+  APNumericStorage(const APNumericStorage &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const APNumericStorage &) LLVM_DELETED_FUNCTION;<br>
<br>
 protected:<br>
   APNumericStorage() : VAL(0), BitWidth(0) { }<br>
<br>
Modified: cfe/trunk/include/clang/AST/RecordLayout.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/RecordLayout.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/RecordLayout.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/AST/RecordLayout.h (original)<br>
+++ cfe/trunk/include/clang/AST/RecordLayout.h Sat Sep 15 15:20:27 2012<br>
@@ -136,8 +136,8 @@<br>
<br>
   void Destroy(ASTContext &Ctx);<br>
<br>
-  ASTRecordLayout(const ASTRecordLayout&);   // DO NOT IMPLEMENT<br>
-  void operator=(const ASTRecordLayout&); // DO NOT IMPLEMENT<br>
+  ASTRecordLayout(const ASTRecordLayout &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const ASTRecordLayout &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
<br>
   /// getAlignment - Get the record alignment in characters.<br>
<br>
Modified: cfe/trunk/include/clang/AST/Type.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/AST/Type.h (original)<br>
+++ cfe/trunk/include/clang/AST/Type.h Sat Sep 15 15:20:27 2012<br>
@@ -1181,8 +1181,8 @@<br>
   };<br>
<br>
 private:<br>
-  Type(const Type&);           // DO NOT IMPLEMENT.<br>
-  void operator=(const Type&); // DO NOT IMPLEMENT.<br>
+  Type(const Type &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const Type &) LLVM_DELETED_FUNCTION;<br>
<br>
   /// Bitfields required by the Type class.<br>
   class TypeBitfields {<br>
<br>
Modified: cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h (original)<br>
+++ cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h Sat Sep 15 15:20:27 2012<br>
@@ -174,8 +174,8 @@<br>
   BoundNodesTree build() const;<br>
<br>
 private:<br>
-  BoundNodesTreeBuilder(const BoundNodesTreeBuilder&);  // DO NOT IMPLEMENT<br>
-  void operator=(const BoundNodesTreeBuilder&);  // DO NOT IMPLEMENT<br>
+  BoundNodesTreeBuilder(const BoundNodesTreeBuilder &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const BoundNodesTreeBuilder &) LLVM_DELETED_FUNCTION;<br>
<br>
   BoundNodesMap Bindings;<br>
<br>
<br>
Modified: cfe/trunk/include/clang/Basic/Diagnostic.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Diagnostic.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Diagnostic.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Basic/Diagnostic.h (original)<br>
+++ cfe/trunk/include/clang/Basic/Diagnostic.h Sat Sep 15 15:20:27 2012<br>
@@ -837,7 +837,7 @@<br>
   /// call to ForceEmit.<br>
   mutable bool IsForceEmit;<br>
<br>
-  void operator=(const DiagnosticBuilder&); // DO NOT IMPLEMENT<br>
+  void operator=(const DiagnosticBuilder &) LLVM_DELETED_FUNCTION;<br>
   friend class DiagnosticsEngine;<br>
<br>
   DiagnosticBuilder()<br>
<br>
Modified: cfe/trunk/include/clang/Basic/IdentifierTable.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/IdentifierTable.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/IdentifierTable.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Basic/IdentifierTable.h (original)<br>
+++ cfe/trunk/include/clang/Basic/IdentifierTable.h Sat Sep 15 15:20:27 2012<br>
@@ -346,8 +346,8 @@<br>
 /// actual functionality.<br>
 class IdentifierIterator {<br>
 private:<br>
-  IdentifierIterator(const IdentifierIterator&); // Do not implement<br>
-  IdentifierIterator &operator=(const IdentifierIterator&); // Do not implement<br>
+  IdentifierIterator(const IdentifierIterator &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const IdentifierIterator &) LLVM_DELETED_FUNCTION;<br>
<br>
 protected:<br>
   IdentifierIterator() { }<br>
@@ -695,8 +695,8 @@<br>
 /// multi-keyword caching.<br>
 class SelectorTable {<br>
   void *Impl;  // Actually a SelectorTableImpl<br>
-  SelectorTable(const SelectorTable&); // DISABLED: DO NOT IMPLEMENT<br>
-  void operator=(const SelectorTable&); // DISABLED: DO NOT IMPLEMENT<br>
+  SelectorTable(const SelectorTable &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const SelectorTable &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
   SelectorTable();<br>
   ~SelectorTable();<br>
<br>
Modified: cfe/trunk/include/clang/Driver/Arg.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Arg.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Arg.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Driver/Arg.h (original)<br>
+++ cfe/trunk/include/clang/Driver/Arg.h Sat Sep 15 15:20:27 2012<br>
@@ -33,8 +33,8 @@<br>
   /// ArgList to provide efficient iteration over all instances of a<br>
   /// particular option.<br>
   class Arg {<br>
-    Arg(const Arg &); // DO NOT IMPLEMENT<br>
-    void operator=(const Arg &); // DO NOT IMPLEMENT<br>
+    Arg(const Arg &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const Arg &) LLVM_DELETED_FUNCTION;<br>
<br>
   private:<br>
     /// \brief The option this argument is an instance of.<br>
<br>
Modified: cfe/trunk/include/clang/Driver/ArgList.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/ArgList.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/ArgList.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Driver/ArgList.h (original)<br>
+++ cfe/trunk/include/clang/Driver/ArgList.h Sat Sep 15 15:20:27 2012<br>
@@ -94,8 +94,8 @@<br>
   /// and to iterate over groups of arguments.<br>
   class ArgList {<br>
   private:<br>
-    ArgList(const ArgList &); // DO NOT IMPLEMENT<br>
-    void operator=(const ArgList &); // DO NOT IMPLEMENT<br>
+    ArgList(const ArgList &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const ArgList &) LLVM_DELETED_FUNCTION;<br>
<br>
   public:<br>
     typedef SmallVector<Arg*, 16> arglist_type;<br>
<br>
Modified: cfe/trunk/include/clang/Frontend/ASTUnit.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/ASTUnit.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/ASTUnit.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Frontend/ASTUnit.h (original)<br>
+++ cfe/trunk/include/clang/Frontend/ASTUnit.h Sat Sep 15 15:20:27 2012<br>
@@ -374,8 +374,8 @@<br>
   /// \brief Clear out and deallocate<br>
   void ClearCachedCompletionResults();<br>
<br>
-  ASTUnit(const ASTUnit&); // DO NOT IMPLEMENT<br>
-  ASTUnit &operator=(const ASTUnit &); // DO NOT IMPLEMENT<br>
+  ASTUnit(const ASTUnit &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const ASTUnit &) LLVM_DELETED_FUNCTION;<br>
<br>
   explicit ASTUnit(bool MainFileIsAST);<br>
<br>
<br>
Modified: cfe/trunk/include/clang/Frontend/CompilerInstance.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CompilerInstance.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CompilerInstance.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Frontend/CompilerInstance.h (original)<br>
+++ cfe/trunk/include/clang/Frontend/CompilerInstance.h Sat Sep 15 15:20:27 2012<br>
@@ -130,8 +130,8 @@<br>
   /// The list of active output files.<br>
   std::list<OutputFile> OutputFiles;<br>
<br>
-  void operator=(const CompilerInstance &);  // DO NOT IMPLEMENT<br>
-  CompilerInstance(const CompilerInstance&); // DO NOT IMPLEMENT<br>
+  CompilerInstance(const CompilerInstance &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const CompilerInstance &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
   CompilerInstance();<br>
   ~CompilerInstance();<br>
<br>
Modified: cfe/trunk/include/clang/Frontend/VerifyDiagnosticConsumer.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/VerifyDiagnosticConsumer.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/VerifyDiagnosticConsumer.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Frontend/VerifyDiagnosticConsumer.h (original)<br>
+++ cfe/trunk/include/clang/Frontend/VerifyDiagnosticConsumer.h Sat Sep 15 15:20:27 2012<br>
@@ -146,8 +146,8 @@<br>
     }<br>
<br>
   private:<br>
-    Directive(const Directive&); // DO NOT IMPLEMENT<br>
-    void operator=(const Directive&); // DO NOT IMPLEMENT<br>
+    Directive(const Directive &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const Directive &) LLVM_DELETED_FUNCTION;<br>
   };<br>
<br>
   typedef std::vector<Directive*> DirectiveList;<br>
<br>
Modified: cfe/trunk/include/clang/Lex/HeaderMap.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/HeaderMap.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/HeaderMap.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Lex/HeaderMap.h (original)<br>
+++ cfe/trunk/include/clang/Lex/HeaderMap.h Sat Sep 15 15:20:27 2012<br>
@@ -15,6 +15,7 @@<br>
 #define LLVM_CLANG_LEX_HEADERMAP_H<br>
<br>
 #include "clang/Basic/LLVM.h"<br>
+#include "llvm/Support/Compiler.h"<br>
<br>
 namespace llvm {<br>
   class MemoryBuffer;<br>
@@ -30,8 +31,8 @@<br>
 /// symlinks to files.  Its advantages are that it is dense and more efficient<br>
 /// to create and process than a directory of symlinks.<br>
 class HeaderMap {<br>
-  HeaderMap(const HeaderMap&); // DO NOT IMPLEMENT<br>
-  void operator=(const HeaderMap&); // DO NOT IMPLEMENT<br>
+  HeaderMap(const HeaderMap &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const HeaderMap &) LLVM_DELETED_FUNCTION;<br>
<br>
   const llvm::MemoryBuffer *FileBuffer;<br>
   bool NeedsBSwap;<br>
<br>
Modified: cfe/trunk/include/clang/Lex/Lexer.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Lexer.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Lexer.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Lex/Lexer.h (original)<br>
+++ cfe/trunk/include/clang/Lex/Lexer.h Sat Sep 15 15:20:27 2012<br>
@@ -83,8 +83,8 @@<br>
   // CurrentConflictMarkerState - The kind of conflict marker we are handling.<br>
   ConflictMarkerKind CurrentConflictMarkerState;<br>
<br>
-  Lexer(const Lexer&);          // DO NOT IMPLEMENT<br>
-  void operator=(const Lexer&); // DO NOT IMPLEMENT<br>
+  Lexer(const Lexer &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const Lexer &) LLVM_DELETED_FUNCTION;<br>
   friend class Preprocessor;<br>
<br>
   void InitLexer(const char *BufStart, const char *BufPtr, const char *BufEnd);<br>
<br>
Modified: cfe/trunk/include/clang/Lex/PTHLexer.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/PTHLexer.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/PTHLexer.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Lex/PTHLexer.h (original)<br>
+++ cfe/trunk/include/clang/Lex/PTHLexer.h Sat Sep 15 15:20:27 2012<br>
@@ -44,8 +44,8 @@<br>
   ///  to process when doing quick skipping of preprocessor blocks.<br>
   const unsigned char* CurPPCondPtr;<br>
<br>
-  PTHLexer(const PTHLexer&);  // DO NOT IMPLEMENT<br>
-  void operator=(const PTHLexer&); // DO NOT IMPLEMENT<br>
+  PTHLexer(const PTHLexer &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const PTHLexer &) LLVM_DELETED_FUNCTION;<br>
<br>
   /// ReadToken - Used by PTHLexer to read tokens TokBuf.<br>
   void ReadToken(Token& T);<br>
<br>
Modified: cfe/trunk/include/clang/Lex/PreprocessorLexer.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/PreprocessorLexer.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/PreprocessorLexer.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Lex/PreprocessorLexer.h (original)<br>
+++ cfe/trunk/include/clang/Lex/PreprocessorLexer.h Sat Sep 15 15:20:27 2012<br>
@@ -69,8 +69,8 @@<br>
   /// we are currently in.<br>
   SmallVector<PPConditionalInfo, 4> ConditionalStack;<br>
<br>
-  PreprocessorLexer(const PreprocessorLexer&);          // DO NOT IMPLEMENT<br>
-  void operator=(const PreprocessorLexer&); // DO NOT IMPLEMENT<br>
+  PreprocessorLexer(const PreprocessorLexer &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const PreprocessorLexer &) LLVM_DELETED_FUNCTION;<br>
   friend class Preprocessor;<br>
<br>
   PreprocessorLexer(Preprocessor *pp, FileID fid);<br>
<br>
Modified: cfe/trunk/include/clang/Lex/TokenLexer.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/TokenLexer.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/TokenLexer.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Lex/TokenLexer.h (original)<br>
+++ cfe/trunk/include/clang/Lex/TokenLexer.h Sat Sep 15 15:20:27 2012<br>
@@ -91,8 +91,8 @@<br>
   /// should not be subject to further macro expansion.<br>
   bool DisableMacroExpansion : 1;<br>
<br>
-  TokenLexer(const TokenLexer&);  // DO NOT IMPLEMENT<br>
-  void operator=(const TokenLexer&); // DO NOT IMPLEMENT<br>
+  TokenLexer(const TokenLexer &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const TokenLexer &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
   /// Create a TokenLexer for the specified macro with the specified actual<br>
   /// arguments.  Note that this ctor takes ownership of the ActualArgs pointer.<br>
<br>
Modified: cfe/trunk/include/clang/Parse/Parser.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/Parser.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/Parser.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Parse/Parser.h (original)<br>
+++ cfe/trunk/include/clang/Parse/Parser.h Sat Sep 15 15:20:27 2012<br>
@@ -655,8 +655,8 @@<br>
   /// the parser will exit the scope.<br>
   class ParseScope {<br>
     Parser *Self;<br>
-    ParseScope(const ParseScope&); // do not implement<br>
-    ParseScope& operator=(const ParseScope&); // do not implement<br>
+    ParseScope(const ParseScope &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const ParseScope &) LLVM_DELETED_FUNCTION;<br>
<br>
   public:<br>
     // ParseScope - Construct a new object to manage a scope in the<br>
@@ -695,8 +695,8 @@<br>
   class ParseScopeFlags {<br>
     Scope *CurScope;<br>
     unsigned OldFlags;<br>
-    ParseScopeFlags(const ParseScopeFlags &); // do not implement<br>
-    void operator=(const ParseScopeFlags &); // do not implement<br>
+    ParseScopeFlags(const ParseScopeFlags &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const ParseScopeFlags &) LLVM_DELETED_FUNCTION;<br>
<br>
   public:<br>
     ParseScopeFlags(Parser *Self, unsigned ScopeFlags, bool ManageFlags = true);<br>
<br>
Modified: cfe/trunk/include/clang/Rewrite/Core/DeltaTree.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Rewrite/Core/DeltaTree.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Rewrite/Core/DeltaTree.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Rewrite/Core/DeltaTree.h (original)<br>
+++ cfe/trunk/include/clang/Rewrite/Core/DeltaTree.h Sat Sep 15 15:20:27 2012<br>
@@ -14,6 +14,8 @@<br>
 #ifndef CLANG_REWRITE_DELTATREE_H<br>
 #define CLANG_REWRITE_DELTATREE_H<br>
<br>
+#include "llvm/Support/Compiler.h"<br>
+<br>
 namespace clang {<br>
<br>
   /// DeltaTree - a multiway search tree (BTree) structure with some fancy<br>
@@ -25,7 +27,7 @@<br>
   /// as well, without traversing the whole tree.<br>
   class DeltaTree {<br>
     void *Root;    // "DeltaTreeNode *"<br>
-    void operator=(const DeltaTree&); // DO NOT IMPLEMENT<br>
+    void operator=(const DeltaTree &) LLVM_DELETED_FUNCTION;<br>
   public:<br>
     DeltaTree();<br>
<br>
<br>
Modified: cfe/trunk/include/clang/Rewrite/Core/RewriteRope.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Rewrite/Core/RewriteRope.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Rewrite/Core/RewriteRope.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Rewrite/Core/RewriteRope.h (original)<br>
+++ cfe/trunk/include/clang/Rewrite/Core/RewriteRope.h Sat Sep 15 15:20:27 2012<br>
@@ -14,6 +14,8 @@<br>
 #ifndef LLVM_CLANG_REWRITEROPE_H<br>
 #define LLVM_CLANG_REWRITEROPE_H<br>
<br>
+#include "llvm/Support/Compiler.h"<br>
+<br>
 #include <cstring><br>
 #include <cassert><br>
 #include <cstddef><br>
@@ -153,7 +155,7 @@<br>
<br>
   class RopePieceBTree {<br>
     void /*RopePieceBTreeNode*/ *Root;<br>
-    void operator=(const RopePieceBTree &); // DO NOT IMPLEMENT<br>
+    void operator=(const RopePieceBTree &) LLVM_DELETED_FUNCTION;<br>
   public:<br>
     RopePieceBTree();<br>
     RopePieceBTree(const RopePieceBTree &RHS);<br>
<br>
Modified: cfe/trunk/include/clang/Rewrite/Core/TokenRewriter.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Rewrite/Core/TokenRewriter.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Rewrite/Core/TokenRewriter.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Rewrite/Core/TokenRewriter.h (original)<br>
+++ cfe/trunk/include/clang/Rewrite/Core/TokenRewriter.h Sat Sep 15 15:20:27 2012<br>
@@ -43,8 +43,8 @@<br>
     ///<br>
     OwningPtr<ScratchBuffer> ScratchBuf;<br>
<br>
-    TokenRewriter(const TokenRewriter&);  // DO NOT IMPLEMENT<br>
-    void operator=(const TokenRewriter&); // DO NOT IMPLEMENT.<br>
+    TokenRewriter(const TokenRewriter &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const TokenRewriter &) LLVM_DELETED_FUNCTION;<br>
   public:<br>
     /// TokenRewriter - This creates a TokenRewriter for the file with the<br>
     /// specified FileID.<br>
<br>
Modified: cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h (original)<br>
+++ cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h Sat Sep 15 15:20:27 2012<br>
@@ -450,8 +450,8 @@<br>
   /// entity being completed by this result.<br>
   const char *BriefComment;<br>
<br>
-  CodeCompletionString(const CodeCompletionString &); // DO NOT IMPLEMENT<br>
-  CodeCompletionString &operator=(const CodeCompletionString &); // DITTO<br>
+  CodeCompletionString(const CodeCompletionString &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const CodeCompletionString &) LLVM_DELETED_FUNCTION;<br>
<br>
   CodeCompletionString(const Chunk *Chunks, unsigned NumChunks,<br>
                        unsigned Priority, CXAvailabilityKind Availability,<br>
<br>
Modified: cfe/trunk/include/clang/Sema/DeclSpec.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/DeclSpec.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/DeclSpec.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Sema/DeclSpec.h (original)<br>
+++ cfe/trunk/include/clang/Sema/DeclSpec.h Sat Sep 15 15:20:27 2012<br>
@@ -383,8 +383,8 @@<br>
             T == TST_class);<br>
   }<br>
<br>
-  DeclSpec(const DeclSpec&);       // DO NOT IMPLEMENT<br>
-  void operator=(const DeclSpec&); // DO NOT IMPLEMENT<br>
+  DeclSpec(const DeclSpec &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const DeclSpec &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
<br>
   DeclSpec(AttributeFactory &attrFactory)<br>
<br>
Modified: cfe/trunk/include/clang/Sema/DelayedDiagnostic.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/DelayedDiagnostic.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/DelayedDiagnostic.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Sema/DelayedDiagnostic.h (original)<br>
+++ cfe/trunk/include/clang/Sema/DelayedDiagnostic.h Sat Sep 15 15:20:27 2012<br>
@@ -220,9 +220,8 @@<br>
   const DelayedDiagnosticPool *Parent;<br>
   llvm::SmallVector<DelayedDiagnostic, 4> Diagnostics;<br>
<br>
-  // Do not implement.<br>
-  DelayedDiagnosticPool(const DelayedDiagnosticPool &other);<br>
-  DelayedDiagnosticPool &operator=(const DelayedDiagnosticPool &other);<br>
+  DelayedDiagnosticPool(const DelayedDiagnosticPool &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const DelayedDiagnosticPool &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
   DelayedDiagnosticPool(const DelayedDiagnosticPool *parent) : Parent(parent) {}<br>
   ~DelayedDiagnosticPool() {<br>
<br>
Modified: cfe/trunk/include/clang/Sema/Sema.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Sema.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Sema.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Sema/Sema.h (original)<br>
+++ cfe/trunk/include/clang/Sema/Sema.h Sat Sep 15 15:20:27 2012<br>
@@ -187,8 +187,8 @@<br>
<br>
 /// Sema - This implements semantic analysis and AST building for C.<br>
 class Sema {<br>
-  Sema(const Sema&);           // DO NOT IMPLEMENT<br>
-  void operator=(const Sema&); // DO NOT IMPLEMENT<br>
+  Sema(const Sema &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const Sema &) LLVM_DELETED_FUNCTION;<br>
   mutable const TargetAttributesSema* TheTargetAttributesSema;<br>
 public:<br>
   typedef OpaquePtr<DeclGroupRef> DeclGroupPtrTy;<br>
<br>
Modified: cfe/trunk/include/clang/Sema/TemplateDeduction.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/TemplateDeduction.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/TemplateDeduction.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Sema/TemplateDeduction.h (original)<br>
+++ cfe/trunk/include/clang/Sema/TemplateDeduction.h Sat Sep 15 15:20:27 2012<br>
@@ -46,9 +46,8 @@<br>
   /// SFINAE while performing template argument deduction.<br>
   SmallVector<PartialDiagnosticAt, 4> SuppressedDiagnostics;<br>
<br>
-  // do not implement these<br>
-  TemplateDeductionInfo(const TemplateDeductionInfo&);<br>
-  TemplateDeductionInfo &operator=(const TemplateDeductionInfo&);<br>
+  TemplateDeductionInfo(const TemplateDeductionInfo &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const TemplateDeductionInfo &) LLVM_DELETED_FUNCTION;<br>
<br>
 public:<br>
   TemplateDeductionInfo(ASTContext &Context, SourceLocation Loc)<br>
<br>
Modified: cfe/trunk/include/clang/Serialization/ASTReader.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ASTReader.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ASTReader.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Serialization/ASTReader.h (original)<br>
+++ cfe/trunk/include/clang/Serialization/ASTReader.h Sat Sep 15 15:20:27 2012<br>
@@ -758,8 +758,8 @@<br>
     ASTReader &Reader;<br>
     enum ReadingKind PrevKind;<br>
<br>
-    ReadingKindTracker(const ReadingKindTracker&); // do not implement<br>
-    ReadingKindTracker &operator=(const ReadingKindTracker&);// do not implement<br>
+    ReadingKindTracker(const ReadingKindTracker &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const ReadingKindTracker &) LLVM_DELETED_FUNCTION;<br>
<br>
   public:<br>
     ReadingKindTracker(enum ReadingKind newKind, ASTReader &reader)<br>
@@ -862,8 +862,8 @@<br>
   void Error(unsigned DiagID, StringRef Arg1 = StringRef(),<br>
              StringRef Arg2 = StringRef());<br>
<br>
-  ASTReader(const ASTReader&); // do not implement<br>
-  ASTReader &operator=(const ASTReader &); // do not implement<br>
+  ASTReader(const ASTReader &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const ASTReader &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
   /// \brief Load the AST file and validate its contents against the given<br>
   /// Preprocessor.<br>
<br>
Modified: cfe/trunk/include/clang/Serialization/ContinuousRangeMap.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ContinuousRangeMap.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ContinuousRangeMap.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Serialization/ContinuousRangeMap.h (original)<br>
+++ cfe/trunk/include/clang/Serialization/ContinuousRangeMap.h Sat Sep 15 15:20:27 2012<br>
@@ -108,8 +108,8 @@<br>
   class Builder {<br>
     ContinuousRangeMap &Self;<br>
<br>
-    Builder(const Builder&); // DO NOT IMPLEMENT<br>
-    Builder &operator=(const Builder&); // DO NOT IMPLEMENT<br>
+    Builder(const Builder&) LLVM_DELETED_FUNCTION;<br>
+    Builder &operator=(const Builder&) LLVM_DELETED_FUNCTION;<br>
<br>
   public:<br>
     explicit Builder(ContinuousRangeMap &Self) : Self(Self) { }<br>
<br>
Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h (original)<br>
+++ cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h Sat Sep 15 15:20:27 2012<br>
@@ -120,8 +120,7 @@<br>
   const LocationContext *LCtx;<br>
   llvm::PointerUnion<const Expr *, const Decl *> Origin;<br>
<br>
-  // DO NOT IMPLEMENT<br>
-  CallEvent &operator=(const CallEvent &);<br>
+  void operator=(const CallEvent &) LLVM_DELETED_FUNCTION;<br>
<br>
 protected:<br>
   // This is user data for subclasses.<br>
<br>
Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h (original)<br>
+++ cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h Sat Sep 15 15:20:27 2012<br>
@@ -97,8 +97,8 @@<br>
                     ExplodedNode *Pred);<br>
<br>
 private:<br>
-  CoreEngine(const CoreEngine&); // Do not implement.<br>
-  CoreEngine& operator=(const CoreEngine&);<br>
+  CoreEngine(const CoreEngine &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const CoreEngine &) LLVM_DELETED_FUNCTION;<br>
<br>
   ExplodedNode *generateCallExitBeginNode(ExplodedNode *N);<br>
<br>
<br>
Modified: cfe/trunk/lib/AST/RecordLayoutBuilder.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/RecordLayoutBuilder.cpp?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/RecordLayoutBuilder.cpp?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/AST/RecordLayoutBuilder.cpp (original)<br>
+++ cfe/trunk/lib/AST/RecordLayoutBuilder.cpp Sat Sep 15 15:20:27 2012<br>
@@ -789,8 +789,8 @@<br>
   void setDataSize(CharUnits NewSize) { DataSize = Context.toBits(NewSize); }<br>
   void setDataSize(uint64_t NewSize) { DataSize = NewSize; }<br>
<br>
-  RecordLayoutBuilder(const RecordLayoutBuilder&);   // DO NOT IMPLEMENT<br>
-  void operator=(const RecordLayoutBuilder&); // DO NOT IMPLEMENT<br>
+  RecordLayoutBuilder(const RecordLayoutBuilder &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const RecordLayoutBuilder &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
   static const CXXMethodDecl *ComputeKeyFunction(const CXXRecordDecl *RD);<br>
 };<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CGRecordLayout.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGRecordLayout.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGRecordLayout.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CGRecordLayout.h (original)<br>
+++ cfe/trunk/lib/CodeGen/CGRecordLayout.h Sat Sep 15 15:20:27 2012<br>
@@ -166,8 +166,8 @@<br>
 class CGRecordLayout {<br>
   friend class CodeGenTypes;<br>
<br>
-  CGRecordLayout(const CGRecordLayout&); // DO NOT IMPLEMENT<br>
-  void operator=(const CGRecordLayout&); // DO NOT IMPLEMENT<br>
+  CGRecordLayout(const CGRecordLayout &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const CGRecordLayout &) LLVM_DELETED_FUNCTION;<br>
<br>
 private:<br>
   /// The LLVM type corresponding to this record layout; used when<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CodeGenFunction.h (original)<br>
+++ cfe/trunk/lib/CodeGen/CodeGenFunction.h Sat Sep 15 15:20:27 2012<br>
@@ -532,8 +532,8 @@<br>
 /// CodeGenFunction - This class organizes the per-function state that is used<br>
 /// while generating LLVM code.<br>
 class CodeGenFunction : public CodeGenTypeCache {<br>
-  CodeGenFunction(const CodeGenFunction&); // DO NOT IMPLEMENT<br>
-  void operator=(const CodeGenFunction&);  // DO NOT IMPLEMENT<br>
+  CodeGenFunction(const CodeGenFunction &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const CodeGenFunction &) LLVM_DELETED_FUNCTION;<br>
<br>
   friend class CGCXXABI;<br>
 public:<br>
@@ -794,8 +794,8 @@<br>
     bool OldDidCallStackSave;<br>
     bool PerformCleanup;<br>
<br>
-    RunCleanupsScope(const RunCleanupsScope &); // DO NOT IMPLEMENT<br>
-    RunCleanupsScope &operator=(const RunCleanupsScope &); // DO NOT IMPLEMENT<br>
+    RunCleanupsScope(const RunCleanupsScope &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const RunCleanupsScope &) LLVM_DELETED_FUNCTION;<br>
<br>
   protected:<br>
     CodeGenFunction& CGF;<br>
@@ -838,8 +838,8 @@<br>
     SourceRange Range;<br>
     bool PopDebugStack;<br>
<br>
-    LexicalScope(const LexicalScope &); // DO NOT IMPLEMENT THESE<br>
-    LexicalScope &operator=(const LexicalScope &);<br>
+    LexicalScope(const LexicalScope &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const LexicalScope &) LLVM_DELETED_FUNCTION;<br>
<br>
   public:<br>
     /// \brief Enter a new cleanup scope.<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CodeGenModule.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CodeGenModule.h (original)<br>
+++ cfe/trunk/lib/CodeGen/CodeGenModule.h Sat Sep 15 15:20:27 2012<br>
@@ -210,8 +210,8 @@<br>
 /// CodeGenModule - This class organizes the cross-function state that is used<br>
 /// while generating LLVM code.<br>
 class CodeGenModule : public CodeGenTypeCache {<br>
-  CodeGenModule(const CodeGenModule&);  // DO NOT IMPLEMENT<br>
-  void operator=(const CodeGenModule&); // DO NOT IMPLEMENT<br>
+  CodeGenModule(const CodeGenModule &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const CodeGenModule &) LLVM_DELETED_FUNCTION;<br>
<br>
   typedef std::vector<std::pair<llvm::Constant*, int> > CtorList;<br>
<br>
<br>
Modified: cfe/trunk/lib/Parse/RAIIObjectsForParser.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/RAIIObjectsForParser.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/RAIIObjectsForParser.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/Parse/RAIIObjectsForParser.h (original)<br>
+++ cfe/trunk/lib/Parse/RAIIObjectsForParser.h Sat Sep 15 15:20:27 2012<br>
@@ -87,9 +87,8 @@<br>
     Sema::ParsingDeclState State;<br>
     bool Popped;<br>
<br>
-    // Do not implement.<br>
-    ParsingDeclRAIIObject(const ParsingDeclRAIIObject &other);<br>
-    ParsingDeclRAIIObject &operator=(const ParsingDeclRAIIObject &other);<br>
+    ParsingDeclRAIIObject(const ParsingDeclRAIIObject &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const ParsingDeclRAIIObject &) LLVM_DELETED_FUNCTION;<br>
<br>
   public:<br>
     enum NoParent_t { NoParent };<br>
@@ -245,8 +244,9 @@<br>
   /// the way they used to be.  This is used to handle __extension__ in the<br>
   /// parser.<br>
   class ExtensionRAIIObject {<br>
-    void operator=(const ExtensionRAIIObject &);     // DO NOT IMPLEMENT<br>
-    ExtensionRAIIObject(const ExtensionRAIIObject&); // DO NOT IMPLEMENT<br>
+    ExtensionRAIIObject(const ExtensionRAIIObject &) LLVM_DELETED_FUNCTION;<br>
+    void operator=(const ExtensionRAIIObject &) LLVM_DELETED_FUNCTION;<br>
+<br>
     DiagnosticsEngine &Diags;<br>
   public:<br>
     ExtensionRAIIObject(DiagnosticsEngine &diags) : Diags(diags) {<br>
<br>
Modified: cfe/trunk/lib/Serialization/ASTReaderDecl.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReaderDecl.cpp?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReaderDecl.cpp?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/Serialization/ASTReaderDecl.cpp (original)<br>
+++ cfe/trunk/lib/Serialization/ASTReaderDecl.cpp Sat Sep 15 15:20:27 2012<br>
@@ -116,7 +116,7 @@<br>
       GlobalDeclID FirstID;<br>
       mutable bool Owning;<br>
<br>
-      RedeclarableResult &operator=(RedeclarableResult&); // DO NOT IMPLEMENT<br>
+      void operator=(RedeclarableResult &) LLVM_DELETED_FUNCTION;<br>
<br>
     public:<br>
       RedeclarableResult(ASTReader &Reader, GlobalDeclID FirstID)<br>
@@ -162,7 +162,7 @@<br>
       NamedDecl *Existing;<br>
       mutable bool AddResult;<br>
<br>
-      FindExistingResult &operator=(FindExistingResult&); // DO NOT IMPLEMENT<br>
+      void operator=(FindExistingResult&) LLVM_DELETED_FUNCTION;<br>
<br>
     public:<br>
       FindExistingResult(ASTReader &Reader)<br>
<br>
Modified: cfe/trunk/tools/libclang/IndexingContext.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/IndexingContext.h?rev=163983&r1=163982&r2=163983&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/IndexingContext.h?rev=163983&r1=163982&r2=163983&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/tools/libclang/IndexingContext.h (original)<br>
+++ cfe/trunk/tools/libclang/IndexingContext.h Sat Sep 15 15:20:27 2012<br>
@@ -251,8 +251,8 @@<br>
   SmallVector<CXIdxAttrInfo *, 2> CXAttrs;<br>
   unsigned ref_cnt;<br>
<br>
-  AttrListInfo(const AttrListInfo&); // DO NOT IMPLEMENT<br>
-  void operator=(const AttrListInfo&); // DO NOT IMPLEMENT<br>
+  AttrListInfo(const AttrListInfo &) LLVM_DELETED_FUNCTION;<br>
+  void operator=(const AttrListInfo &) LLVM_DELETED_FUNCTION;<br>
 public:<br>
   AttrListInfo(const Decl *D, IndexingContext &IdxCtx);<br>
<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>