[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

Dávid Bolvanský via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 31 09:46:00 PDT 2019


xbolva00 added a comment.

C FE:

-IfStmt 0x55a225bc4dc8 <line:39:3, line:40:12>

  | |-BinaryOperator 0x55a225bc4d48 <line:39:7, col:21> 'int' '||'
  | | |-BinaryOperator 0x55a225bc4d08 <col:7, col:12> 'int' '=='
  | | | |-ImplicitCastExpr 0x55a225bc4cf0 <col:7> 'int' <IntegralCast>
  | | | | `-ImplicitCastExpr 0x55a225bc4cd8 <col:7> 'enum fruit':'enum fruit' <LValueToRValue>
  | | | |   `-DeclRefExpr 0x55a225bc4c98 <col:7> 'enum fruit':'enum fruit' lvalue ParmVar 0x55a225bc4a90 'f' 'enum fruit':'enum fruit'
  | | | `-DeclRefExpr 0x55a225bc4cb8 <col:12> 'int' EnumConstant 0x55a225bc4610 'apple' 'int'
  | | `-DeclRefExpr 0x55a225bc4d28 <col:21> 'int' EnumConstant 0x55a225bc4520 'orange' 'int'

C++ FE:
IfStmt 0x55cfd2ae5d20 <line:39:3, line:40:12>

  | |-BinaryOperator 0x55cfd2ae5ca0 <line:39:7, col:21> 'bool' '||'
  | | |-BinaryOperator 0x55cfd2ab9940 <col:7, col:12> 'bool' '=='
  | | | |-ImplicitCastExpr 0x55cfd2ab9910 <col:7> 'int' <IntegralCast>
  | | | | `-ImplicitCastExpr 0x55cfd2ab98f8 <col:7> 'enum fruit':'fruit' <LValueToRValue>
  | | | |   `-DeclRefExpr 0x55cfd2ab98b8 <col:7> 'enum fruit':'fruit' lvalue ParmVar 0x55cfd2ab96b0 'f' 'enum fruit':'fruit'
  | | | `-ImplicitCastExpr 0x55cfd2ab9928 <col:12> 'int' <IntegralCast>
  | | |   `-DeclRefExpr 0x55cfd2ab98d8 <col:12> 'fruit' EnumConstant 0x55cfd2ab8ef8 'apple' 'fruit'
  | | `-ImplicitCastExpr 0x55cfd2ab9980 <col:21> 'bool' <IntegralToBoolean>
  | |   `-DeclRefExpr 0x55cfd2ab9960 <col:21> 'fruit' EnumConstant 0x55cfd2ab8e08 'orange' 'fruit'

https://github.com/llvm-mirror/clang/blob/9b127f3b44e685cbe513595b7e0115b0884b0604/lib/Sema/SemaExpr.cpp#L6701


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63082/new/

https://reviews.llvm.org/D63082





More information about the cfe-commits mailing list