| 455 | } |
| 456 | |
| 457 | void |
| 458 | Bookkeeper::output_bitfields(std::ostream &out) |
| 459 | { |
| 460 | if (CGOptions::bitfields()) { |
| 461 | out << std::endl; |
| 462 | //formated_output(out, "structs with full-bitfields: ", structs_with_bitfields); |
| 463 | formated_output(out, "non-zero bitfields defined in structs: ", bitfields_in_total); |
| 464 | formated_output(out, "zero bitfields defined in structs: ", unamed_bitfields_in_total); |
| 465 | formated_output(out, "const bitfields defined in structs: ", const_bitfields_in_total); |
| 466 | formated_output(out, "volatile bitfields defined in structs: ", volatile_bitfields_in_total); |
| 467 | Bookkeeper::output_counters(out, "structs with bitfields in the program: ", "indirect level", vars_with_bitfields); |
| 468 | Bookkeeper::output_counters(out, "full-bitfields structs in the program: ", "indirect level", vars_with_full_bitfields); |
| 469 | formated_output(out, "times a bitfields struct's address is taken: ", vars_with_bitfields_address_taken_cnt); |
| 470 | formated_output(out, "times a bitfields struct on LHS: ", lhs_bitfields_structs_vars_cnt); |
| 471 | formated_output(out, "times a bitfields struct on RHS: ", rhs_bitfields_structs_vars_cnt); |
| 472 | formated_output(out, "times a single bitfield on LHS: ", lhs_bitfield_cnt); |
| 473 | formated_output(out, "times a single bitfield on RHS: ", rhs_bitfield_cnt); |
| 474 | } |
| 475 | } |
| 476 | |
| 477 | void |
| 478 | Bookkeeper::record_vars_with_bitfields(const Type *type) |
nothing calls this directly
no test coverage detected