Mercurial > hg > CbC > CbC_llvm
view clang/test/Sema/objc-bool-constant-conversion-fixit.m @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 0572611fdcc8 |
line wrap: on
line source
// RUN: %clang_cc1 -Werror=objc-signed-char-bool %s -fixit-recompile -fixit-to-temporary -E -o - | FileCheck %s typedef signed char BOOL; BOOL b; int main() { BOOL b = 2; // CHECK: BOOL b = 2 ? YES : NO; b = b ? 2 : 1; // CHECK: b = b ? 2 ? YES : NO : 1; b = b ? 1 : 2; // CHECK: b = b ? 1 : 2 ? YES : NO; b = b ? 2 : 2; // CHECK: b = b ? 2 ? YES : NO : 2 ? YES : NO; b = 1 + 1; // CHECK: b = (1 + 1) ? YES : NO; b = 1 | 2; // CHECK: b = (1 | 2) ? YES : NO; b = 1 << 1; // CHECK: b = (1 << 1) ? YES : NO; int i; b = i; // CHECK: b = i ? YES : NO; b = i * 2; // CHECK b = (i * 2) ? YES : NO; b = 1 ? 2 : 3; // CHECK: b = 1 ? 2 ? YES : NO : 3 ? YES : NO; } @interface BoolProp @property BOOL b; @end void f(BoolProp *bp) { bp.b = 43; // CHECK: bp.b = 43 ? YES : NO; [bp setB:43]; // CHECK: [bp setB:43 ? YES : NO]; int i; bp.b = i; // CHECK: bp.b = i ? YES : NO; bp.b = i + 1; // CHECK: bp.b = (i + 1) ? YES : NO; }