[PATCH] D7895: Anonymous namespaces are missing import DW_TAG_imported_module.

Katya Romanova via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 17 16:54:53 PDT 2015


kromanova updated this revision to Diff 32354.
kromanova added a comment.

Hi David,

Sorry for the delay. As per your request, I have changed to patch to generate (hopefully) correct DWARF info for nested anonymous namespace. Currently, clang generates  DW_TAG_imported_module for inner (nested) anonymous NS, but not for outer one. So, the situation was somewhat asymmetric.

I have changed clang not to generate DW_TAG_imported_module tag for all the platforms, except PS4 (where we always want to generate DW_TAG_imported_module tags for anonymous NS).

ParseNamespace now returns DeclGroup containing both NamespaceDecl AND UsingNamespaceDecl (unfortunately, I couldn't think of a better way to plumb UsingNamespaceDecl to the top level, so had to change the return type for ParseNamespace).

I added a testcase to check that no DW_TAG_imported_module are generated for nested anonymous namespaces for all the platforms except than PS4 (where we expect to generate two DW_TAG_imported_modules, one for inner, another for outer NS).


http://reviews.llvm.org/D7895

Files:
  include/clang/Parse/Parser.h
  include/clang/Sema/Sema.h
  lib/CodeGen/CGDebugInfo.cpp
  lib/Parse/ParseDecl.cpp
  lib/Parse/ParseDeclCXX.cpp
  lib/Sema/SemaDeclCXX.cpp
  test/CodeGenCXX/debug-info-anon-namespace.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7895.32354.patch
Type: text/x-patch
Size: 10286 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150817/861dd5fd/attachment.bin>


More information about the llvm-commits mailing list