blob: 546a8b9806eb208978901444c0c6af2c19b25426 [file] [log] [blame]
// RUN: %clang_cc1 -triple x86_64-unk-unk -fno-limit-debug-info -o - -emit-llvm -g %s | FileCheck %s
// Check that we emit debug info for a struct even if it is typedef'd.
// rdar://problem/14101097
//
// FIXME: This should work with -flimit-debug-info, too.
// Make sure this is not a forward declaration.
// CHECK-NOT: [ DW_TAG_structure_type ] [elusive_s] {{.*}} [fwd]
// CHECK: [ DW_TAG_member ] [foo]
// CHECK: [ DW_TAG_member ] [bar]
struct elusive_s {
int foo;
float bar;
};
typedef struct elusive_s* elusive_t;
int baz(void* x) {
elusive_t s = x;
return s->foo;
}