1int _u_n_d_e_r_s_c_o_r_e_s_; 2int a_r_e_; 3int _c_o_o_l; 4 5int __two_underscores_at_the_front; 6int two_underscores__in_the_middle; 7int two_underscores_at_the_end__; 8int __; // two underscores in isolation 9 10int three___underscores; 11 12int contains_mangle_marker_X_; 13 14struct two_underscores__in_a_structname { 15 int two_underscores__in_a_struct_field; 16} two_underscores__in_struct_var; 17 18two_underscores__in_an_interface_block { 19 int two_underscores__in_a_interface_block_field; 20} two_underscores__in_a_interface_block_var; 21 22// Code is not meaningful, but uses mangled identifiers and prevents elimination via optimizer. 23 24noinline two_underscores__in_a_structname two_underscores__in_a_funcname( 25 two_underscores__in_a_structname two_underscores__in_a_parameter) { 26 if (__two_underscores_at_the_front == two_underscores_at_the_end__) { 27 if (two_underscores__in_the_middle == contains_mangle_marker_X_) { 28 ++contains_mangle_marker_X_; 29 } 30 } 31 two_underscores__in_a_parameter.two_underscores__in_a_struct_field = __; 32 return two_underscores__in_a_structname(three___underscores); 33} 34 35void main() { 36 _u_n_d_e_r_s_c_o_r_e_s_ = a_r_e_ = _c_o_o_l; 37 two_underscores__in_a_funcname(two_underscores__in_struct_var); 38} 39