@@ -2460,36 +2460,36 @@ def get_category(essential_type):
24602460 if essential_type .split (' ' )[0 ] in ('unsigned' , 'signed' ):
24612461 return essential_type .split (' ' )[0 ]
24622462 return None
2463-
2463+
24642464 for tok in cfg .tokenlist :
24652465 if not tok .isAssignmentOp :
24662466 continue
2467-
2467+
24682468 lhs = getEssentialType (tok .astOperand1 )
24692469 rhs = getEssentialType (tok .astOperand2 )
24702470 if lhs is None or rhs is None :
24712471 continue
2472-
2472+
24732473 find_std = cfg .standards .c if cfg .standards and cfg .standards .c else self .stdversion
2474-
2474+
24752475 rhs_tok = tok .astOperand2
24762476 rhs_macro_name = rhs_tok .macroName if rhs_tok else None
24772477 rhs_spelling = rhs_macro_name if rhs_macro_name in ('true' , 'false' ) else rhs_tok .str
2478-
2478+
24792479 rhs_is_source_bool_literal = rhs_spelling in ('true' , 'false' )
24802480 rhs_is_source_int_literal_0_1 = rhs_spelling in ('0' , '1' )
2481-
2481+
24822482 if lhs == 'bool' :
24832483 if rhs_is_source_bool_literal :
24842484 continue
24852485 if find_std == 'c89' and rhs_is_source_int_literal_0_1 :
24862486 continue
2487-
2487+
24882488 lhs_category = get_category (lhs )
24892489 rhs_category = get_category (rhs )
24902490 if lhs_category and rhs_category and lhs_category != rhs_category and rhs_category not in ('signed' , 'unsigned' ):
24912491 self .reportError (tok , 10 , 3 )
2492-
2492+
24932493 if bitsOfEssentialType (lhs ) < bitsOfEssentialType (rhs ):
24942494 self .reportError (tok , 10 , 3 )
24952495
0 commit comments