aaron.ballman added a comment.

In D56829#1361465 <https://reviews.llvm.org/D56829#1361465>, @steveire wrote:

> I don't know what C++ code results in the `undeserialized declarations` 
> output. Can you suggest some?


I haven't the foggiest idea. I'd recommend doing an svn blame to see what 
commit added that code and try to work backwards from there -- presumably 
there's some related test code that could be run under -ast-dump.



================
Comment at: lib/AST/ASTDumper.cpp:519-520
-          (DC->hasExternalLexicalStorage() ||
-           (Deserialize ? DC->decls_begin() != DC->decls_end()
-                        : DC->noload_decls_begin() != DC->noload_decls_end())))
         dumpDeclContext(DC);
----------------
steveire wrote:
> aaron.ballman wrote:
> > Why did this condition get dropped?
> The condition is using internal knowledge of the `dumpDeclContext` method - 
> that it doesn't do anything if these conditions are not met, so avoid calling 
> the method in the first place. We can just call the method. The for loop 
> which remains will simply do nothing.
Ah, I see what's happening now, thank you.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56829/new/

https://reviews.llvm.org/D56829



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

Reply via email to