[PATCH] D56829: Move decl context dumping to TextNodeDumper

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 17 06:29:15 PST 2019


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





More information about the cfe-commits mailing list