[llvm-commits] [PATCH] Remove Mutating Init Members
    Nick Lewycky 
    nicholas at mxc.ca
       
    Wed Jul 13 21:37:32 PDT 2011
    
    
  
David Greene wrote:
> Here's a patch to remove members from Inits that update their state.
> This is in preparation for making Inits const and ultimately making
> them FoldingSetNodes.
>
> Please review.  Thanks!
Hi David,
I'm not a regular contributor to TableGen, but this patch looks fine to 
me as it seems pretty easy to verify that it's not changing behaviour.
--- a/utils/TableGen/Record.h
+++ b/utils/TableGen/Record.h
@@ -594,6 +594,8 @@ class BitsInit : public Init {
    std::vector<Init*> Bits;
  public:
    explicit BitsInit(unsigned Size) : Bits(Size) {}
+  template<typename InputIterator>
+  BitsInit(InputIterator start, InputIterator end) : Bits(start, end) {}
Any reason to take an InputIterator pair and not an ArrayRef? I realize 
that you may have a refactoring after this one for which an ArrayRef 
wouldn't work, but I don't know. If possible, please use an ArrayRef!
Nick
    
    
More information about the llvm-commits
mailing list