| int _u_n_d_e_r_s_c_o_r_e_s_; |
| int a_r_e_; |
| int _c_o_o_l; |
| |
| int __two_underscores_at_the_front; |
| int two_underscores__in_the_middle; |
| int two_underscores_at_the_end__; |
| int __; // two underscores in isolation |
| |
| int three___underscores; |
| |
| int contains_mangle_marker_X_; |
| |
| struct two_underscores__in_a_structname { |
| int two_underscores__in_a_struct_field; |
| } two_underscores__in_struct_var; |
| |
| two_underscores__in_an_interface_block { |
| int two_underscores__in_a_interface_block_field; |
| } two_underscores__in_a_interface_block_var; |
| |
| // Code is not meaningful, but uses mangled identifiers and prevents elimination via optimizer. |
| |
| noinline two_underscores__in_a_structname two_underscores__in_a_funcname( |
| two_underscores__in_a_structname two_underscores__in_a_parameter) { |
| if (__two_underscores_at_the_front == two_underscores_at_the_end__) { |
| if (two_underscores__in_the_middle == contains_mangle_marker_X_) { |
| ++contains_mangle_marker_X_; |
| } |
| } |
| two_underscores__in_a_parameter.two_underscores__in_a_struct_field = __; |
| return two_underscores__in_a_structname(three___underscores); |
| } |
| |
| void main() { |
| _u_n_d_e_r_s_c_o_r_e_s_ = a_r_e_ = _c_o_o_l; |
| two_underscores__in_a_funcname(two_underscores__in_struct_var); |
| } |