Subzero: Class definition cleanup.

For consistency, put deleted ctors at the beginning of the class
definition.

If the default copy ctor or assignment operator is not deleted,
and the default implementation is used, leave it commented out to
indicate it is intentional.

Also, fixed one C++11 related TODO.

BUG= none
R=jvoung@chromium.org, kschimpf@google.com

Review URL: https://codereview.chromium.org/656123003
diff --git a/src/IceCfg.h b/src/IceCfg.h
index 4e7f602..414a8e1 100644
--- a/src/IceCfg.h
+++ b/src/IceCfg.h
@@ -28,6 +28,9 @@
 namespace Ice {
 
 class Cfg {
+  Cfg(const Cfg &) = delete;
+  Cfg &operator=(const Cfg &) = delete;
+
 public:
   Cfg(GlobalContext *Ctx);
   ~Cfg();
@@ -67,15 +70,13 @@
   // Manage Variables.
   // Create a new Variable with a particular type and an optional
   // name.  The Node argument is the node where the variable is defined.
-  template <typename T> T *makeVariable(Type Ty, const IceString &Name = "") {
+  template <typename T = Variable>
+  T *makeVariable(Type Ty, const IceString &Name = "") {
     SizeT Index = Variables.size();
     T *Var = T::create(this, Ty, Index, Name);
     Variables.push_back(Var);
     return Var;
   }
-  // TODO(stichnot): Remove this function with C++11, and use default
-  // argument <typename T=Variable> above.
-  Variable *makeVariable(Type Ty, const IceString &Name = "");
   SizeT getNumVariables() const { return Variables.size(); }
   const VarList &getVariables() const { return Variables; }
 
@@ -187,9 +188,6 @@
   // register allocation, resetCurrentNode() should be called to avoid
   // spurious validation failures.
   const CfgNode *CurrentNode;
-
-  Cfg(const Cfg &) = delete;
-  Cfg &operator=(const Cfg &) = delete;
 };
 
 } // end of namespace Ice