17ff0c5d30d365ba5d4f08e1d2fcea0370b21699bEric Christopher// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin -fno-limit-debug-info %s -o - | FileCheck %s
27ff0c5d30d365ba5d4f08e1d2fcea0370b21699bEric Christopher
32f764a91225ae8e34110243071177c545072fa0eEric Christopherclass Test
42f764a91225ae8e34110243071177c545072fa0eEric Christopher{
52f764a91225ae8e34110243071177c545072fa0eEric Christopherpublic:
62f764a91225ae8e34110243071177c545072fa0eEric Christopher    Test () : reserved (new data()) {}
7531b1a91fbbf75dc2ab54f609e304376753e1679Eric Christopher
82f764a91225ae8e34110243071177c545072fa0eEric Christopher    unsigned
92f764a91225ae8e34110243071177c545072fa0eEric Christopher    getID() const
102f764a91225ae8e34110243071177c545072fa0eEric Christopher    {
112f764a91225ae8e34110243071177c545072fa0eEric Christopher        return reserved->objectID;
122f764a91225ae8e34110243071177c545072fa0eEric Christopher    }
132f764a91225ae8e34110243071177c545072fa0eEric Christopherprotected:
14531b1a91fbbf75dc2ab54f609e304376753e1679Eric Christopher    struct data {
152f764a91225ae8e34110243071177c545072fa0eEric Christopher        unsigned objectID;
16531b1a91fbbf75dc2ab54f609e304376753e1679Eric Christopher    };
172f764a91225ae8e34110243071177c545072fa0eEric Christopher    data* reserved;
182f764a91225ae8e34110243071177c545072fa0eEric Christopher};
192f764a91225ae8e34110243071177c545072fa0eEric Christopher
202f764a91225ae8e34110243071177c545072fa0eEric ChristopherTest t;
212f764a91225ae8e34110243071177c545072fa0eEric Christopher
227ff0c5d30d365ba5d4f08e1d2fcea0370b21699bEric Christopher// CHECK: metadata !"", null, i32 0, i64 64, i64 64, i64 0, i32 0, metadata {{.*}} [ DW_TAG_pointer_type ]
237ff0c5d30d365ba5d4f08e1d2fcea0370b21699bEric Christopher// CHECK: metadata !"data", metadata !6, i32 14, i64 32, i64 32, i32 0, i32 0
247ff0c5d30d365ba5d4f08e1d2fcea0370b21699bEric Christopher// CHECK-NOT: metadata !"data", metadata {{.*}}, i32 14, i64 0, i64 0, i32 0, i32 4,
25