Skip to content

Commit

Permalink
Add original source code to test case as suggested in review.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240863 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
adrian-prantl committed Jun 27, 2015
1 parent 63f4054 commit 50a38dc
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions test/DebugInfo/X86/debug-info-packed-struct.ll
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,19 @@ target triple = "x86_64-apple-darwin"
; RUN: llvm-dwarfdump -debug-dump=info %t.o | FileCheck %s
; REQUIRES: object-emission

; // ---------------------------------------------------------------------
; // Not packed.
; // ---------------------------------------------------------------------
; struct size8 {
; int i : 4;
; long long l : 60;
; };
; struct layout0 {
; char l0_ofs0;
; struct size8 l0_ofs8;
; int l0_ofs16 : 1;
; } l0;

%struct.layout0 = type { i8, %struct.size8, i8 }
%struct.size8 = type { i64 }
; CHECK: DW_TAG_structure_type
Expand All @@ -24,6 +37,20 @@ target triple = "x86_64-apple-darwin"
; CHECK: DW_AT_bit_offset {{.*}} (0x1f)
; CHECK: DW_AT_data_member_location {{.*}}10


; // ---------------------------------------------------------------------
; // Implicitly packed.
; // ---------------------------------------------------------------------
; struct size8_anon {
; int : 4;
; long long : 60;
; };
; struct layout1 {
; char l1_ofs0;
; struct size8_anon l1_ofs1;
; int l1_ofs9 : 1;
; } l1;

%struct.layout1 = type <{ i8, %struct.size8_anon, i8, [2 x i8] }>
%struct.size8_anon = type { i64 }

Expand All @@ -43,6 +70,21 @@ target triple = "x86_64-apple-darwin"
; CHECK: DW_AT_bit_offset {{.*}} (0x17)
; CHECK: DW_AT_data_member_location {{.*}}08

; // ---------------------------------------------------------------------
; // Explicitly packed.
; // ---------------------------------------------------------------------
; #pragma pack(1)
; struct size8_pack1 {
; int i : 4;
; long long l : 60;
; };
; struct layout2 {
; char l2_ofs0;
; struct size8_pack1 l2_ofs1;
; int l2_ofs9 : 1;
; } l2;
; #pragma pack()

%struct.layout2 = type <{ i8, %struct.size8_pack1, i8 }>
%struct.size8_pack1 = type { i64 }

Expand All @@ -62,6 +104,22 @@ target triple = "x86_64-apple-darwin"
; CHECK: DW_AT_bit_offset {{.*}} (0x17)
; CHECK: DW_AT_data_member_location {{.*}}08

; // ---------------------------------------------------------------------
; // Explicitly packed with different alignment.
; // ---------------------------------------------------------------------
; #pragma pack(4)
; struct size8_pack4 {
; int i : 4;
; long long l : 60;
; };
; struct layout3 {
; char l3_ofs0;
; struct size8_pack4 l3_ofs4;
; int l3_ofs12 : 1;
; } l 3;
; #pragma pack()


%struct.layout3 = type <{ i8, [3 x i8], %struct.size8_pack4, i8, [3 x i8] }>
%struct.size8_pack4 = type { i64 }

Expand Down

0 comments on commit 50a38dc

Please sign in to comment.