Files
carbon-lang/executable_semantics/testdata/if_expression/if_then_else.carbon
T

22 lines
842 B
Plaintext

// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
// RUN: %{executable_semantics} %s 2>&1 | \
// RUN: %{FileCheck} --match-full-lines --allow-unused-prefixes=false %s
// RUN: %{executable_semantics} --trace %s 2>&1 | \
// RUN: %{FileCheck} --match-full-lines --allow-unused-prefixes %s
// AUTOUPDATE: %{executable_semantics} %s
// CHECK: result: 12
package ExecutableSemanticsTest api;
fn Main() -> i32 {
var cond: if true then Bool else i32 = true;
if (if cond then true else false) {}
while (if cond then false else true) {}
return if if cond then true or false else false and true
then if not cond then 1 + 2 else 3 * 4
else if not cond then 5 + 6 else 7 * 8;
}