[PATCH] Anonymous namespaces are missing import DW_TAG_imported_module.

David Blaikie dblaikie at gmail.com
Mon Mar 23 10:32:25 PDT 2015


One question, if you're up for it - there is actually an implicit UsingDirectiveDecl in the AST (as seen here:

$ cat ns.cpp
namespace {
int i;
}
blaikie at blaikie-linux:/tmp/dbginfo$ clang++-tot -Xclang -ast-dump ns.cpp -fsyntax-only
TranslationUnitDecl 0x69a9170 <<invalid sloc>> <invalid sloc>

| -TypedefDecl 0x69a96b0 <<invalid sloc>> <invalid sloc> implicit __int128_t '__int128'                 |
| -TypedefDecl 0x69a9710 <<invalid sloc>> <invalid sloc> implicit __uint128_t 'unsigned __int128'       |
| -TypedefDecl 0x69a9b10 <<invalid sloc>> <invalid sloc> implicit __builtin_va_list '__va_list_tag [1]' |
| -NamespaceDecl 0x69a9b60 <ns.cpp:1:1, line:3:1> line:1:11                                             |
| `-VarDecl 0x69a9c20 <line:2:1, col:5> col:5 i 'int'                                                   |

`-UsingDirectiveDecl 0x69a9bc0 <line:1:11, <invalid sloc>> <invalid sloc> implicit Namespace 0x69a9b60 ''

It's possible we could figure out why that decl is being skipped normally? & avoid skipping it/filter it out later for non-ps4 while leaving it in for ps4, rather than synthesizing the extra imported module from scratch in the debug info code gen?

I took a glance & didn't immediately see why we weren't already visiting this implicit decl - I guess something is filtering out implicit decls somewhere?


http://reviews.llvm.org/D7895

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list