File tree 1 file changed +27
-0
lines changed 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -52,6 +52,13 @@ void ftest0(tu_c_t uc) { }
52
52
// CHECK-NEXT: ret void
53
53
void ftest1 (tu_s_t uc ) { }
54
54
55
+ // CHECK-LABEL: define{{.*}} void @ftest1b(
56
+ // CHECK-SAME: ptr nocapture noundef readnone [[UC:%.*]]) local_unnamed_addr #[[ATTR0]] {
57
+ // CHECK-NEXT: [[ENTRY:.*:]]
58
+ // CHECK-NEXT: ret void
59
+ //
60
+ void ftest1b (tu_s_t * uc ) { }
61
+
55
62
// CHECK-LABEL: define{{.*}} void @ftest2(
56
63
// CHECK-SAME: i16 noundef zeroext [[UC_COERCE:%.*]]) local_unnamed_addr #[[ATTR0]] {
57
64
// CHECK-NEXT: [[ENTRY:.*:]]
@@ -79,3 +86,23 @@ typedef union etest {
79
86
// CHECK-NEXT: [[ENTRY:.*:]]
80
87
// CHECK-NEXT: ret void
81
88
void ftest4 (etest_t a ) {}
89
+
90
+ typedef union tu_ptr {
91
+ signed char * a ;
92
+ unsigned short * b ;
93
+ int * c ;
94
+ } tu_ptr_t __attribute__((transparent_union ));
95
+
96
+ // CHECK-LABEL: define{{.*}} void @ftest5(
97
+ // CHECK-SAME: ptr nocapture readnone [[UC_COERCE:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
98
+ // CHECK-NEXT: [[ENTRY:.*:]]
99
+ // CHECK-NEXT: ret void
100
+ //
101
+ void ftest5 (tu_ptr_t uc ) { }
102
+
103
+ // CHECK-LABEL: define{{.*}} void @ftest6(
104
+ // CHECK-SAME: ptr nocapture noundef readnone [[UC:%.*]]) local_unnamed_addr #[[ATTR0]] {
105
+ // CHECK-NEXT: [[ENTRY:.*:]]
106
+ // CHECK-NEXT: ret void
107
+ //
108
+ void ftest6 (tu_ptr_t * uc ) { }
You can’t perform that action at this time.
0 commit comments