You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if (field_decl.isZeroLengthBitField(c.clang_context)) {
1148
-
trywarn(c, scope, field_loc, "{s} demoted to opaque type - bitfield with zero size not supported", .{container_kind_name});
1149
-
break :blkTag.opaque_literal.init();
1150
-
} elseif (bits_type!=this_type) {
1151
-
trywarn(c, scope, field_loc, "{s} demoted to opaque type - bitfield type changed in the middle of bitfield was;{s} is:{s}", .{ container_kind_name, @tagName(bits_type), @tagName(this_type) });
1152
-
break :blkTag.opaque_literal.init();
1153
-
} else {
1154
-
// next
1155
-
bits_unused-=this_field_width;
1156
-
if (bits_unused<0) {
1157
-
trywarn(c, scope, field_loc, "{s} demoted to opaque type - bitfield overrun type size not supported", .{container_kind_name});
1158
-
break :blkTag.opaque_literal.init();
1159
-
}
1160
-
}
1161
-
continue; // free the field_type? tag is alloc'd
1162
-
}
1163
-
} else {
1164
-
if (bits_unused>=8) {
1165
-
// if they didn't add a "reserved:n" at the end, and the # of bits used is more than 1 byte of their requested size,
1166
-
// the layout is to compiler specific.
1167
-
trywarn(c, scope, field_loc, "{s} demoted to opaque type - less bits used than field size. unused bit count:{d}", .{ container_kind_name, bits_unused });
if (bits_unused>=8) { // one last check if the last field was a bitfield
1189
-
trywarn(c, scope, record_loc, "{s} demoted to opaque type - less bits used than field size. unused bit count:{d}", .{ container_kind_name, bits_unused });
0 commit comments