mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-10 18:11:19 +00:00
d88705587f
The AST merges NamespaceDecls, but for module debug info it is important to put a namespace decl (or rather its children) into the correct (sub-)module, so we need to use the parent module of the decl that triggered this namespace to be serialized as a second key when looking up DINamespace nodes. rdar://problem/29339538 llvm-svn: 302840
20 lines
701 B
C++
20 lines
701 B
C++
// RUN: rm -rf %t
|
|
// RUN: %clang_cc1 -x objective-c++ -std=c++11 -debug-info-kind=standalone \
|
|
// RUN: -dwarf-ext-refs -fmodules \
|
|
// RUN: -fmodule-format=obj -fimplicit-module-maps \
|
|
// RUN: -triple %itanium_abi_triple -fmodules-cache-path=%t \
|
|
// RUN: %s -I %S/Inputs/DebugInfoNamespace -I %t -emit-llvm -o - \
|
|
// RUN: | FileCheck %s
|
|
|
|
#include "A.h"
|
|
#include "B.h"
|
|
using namespace N;
|
|
B b;
|
|
|
|
// Verify that the forward decl of B is in module B.
|
|
//
|
|
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "B",
|
|
// CHECK-SAME: scope: ![[N:[0-9]+]]
|
|
// CHECK: ![[N]] = !DINamespace(name: "N", scope: ![[B:[0-9]+]])
|
|
// CHECK: ![[B]] = !DIModule(scope: null, name: "B",
|