Serge_Preis added a comment.


In https://reviews.llvm.org/D32439#736503, @malcolm.parsons wrote:

> Is it possible to add a test for this change?
>  There are some source range checks in test/Misc/ast-dump-decl.cpp


Yes, I think testing is quite possible. I will take a look into 
test/Misc/ast-dump-decl.cpp and try to come up with something meaningful.

The code exposed this issue for me looked like this:

  template<typename EntityT>
  bool checkNameAtPos(const EntityT entity) {
       std::string name = GetName(entity);  /// EntityT-dependent way to 
discover name 
       SourceLoc start = GetStart(entity);    /// entity.getBeginLoc() by 
default with rare exceptions
  
      const char* buf = SourceMgr.getCharacterData(start, &err);
      assert(!err && "getCharacterData() failed");
  
      if (buf[0] != name[0]) {
          llvm::errs() << "Anchor text doesn't match the symbol:\n"
                          << "  Name = " << nameStr << "\n"
                          << "  @Anchor = " << bufStr << "\n"
          start.print(llvm::errs(), SourceMgr);
          llvm::errs() << '\n';
          return false;
      }
      return true;
  }

I wanted to be sure that there will be a name of an enity in the entity's 
location (at least prefix of entity's name). So tesing for something like this 
may be added for entities being TypeLoc, NestedNameSpecifier and 
CXXCtorInitializer.


https://reviews.llvm.org/D32439



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to