Types that came from a Clang module are nested in DW_TAG_module tags in DWARF. This patch recreates the Clang module hierarchy in LLDB and 1;95;0csets the owning module information accordingly. My primary motivation is to facilitate looking up per-module APINotes for individual declarations, but this likely also has other applications. This reapplies the previously reverted commit, but without support for ClassTemplateSpecializations, which I'm going to look into separately. rdar://problem/59634380 Differential Revision: https://reviews.llvm.org/D75488
30 lines
453 B
Objective-C
30 lines
453 B
Objective-C
#include "B.h" // -*- ObjC -*-
|
|
|
|
typedef int Typedef;
|
|
|
|
struct TopLevelStruct {
|
|
int a;
|
|
};
|
|
|
|
typedef struct Struct_s {
|
|
int a;
|
|
} Struct;
|
|
|
|
struct Nested {
|
|
StructB fromb;
|
|
};
|
|
|
|
typedef enum Enum_e { a = 0 } Enum;
|
|
|
|
@interface SomeClass {
|
|
}
|
|
@end
|
|
|
|
template <typename T> struct Template { T field; };
|
|
extern template struct Template<int>;
|
|
|
|
namespace Namespace {
|
|
template <typename T> struct InNamespace { T field; };
|
|
extern template struct InNamespace<int>;
|
|
}
|