Files
carbon-lang/explorer/testdata/operator/operator-modulo.carbon
T
9f89c63503 Add operator modulo (#1681)
Co-authored-by: m new <michael.burzan@outlook.de>
Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2022-07-28 12:51:35 -07:00

57 lines
1.0 KiB
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: %{explorer} %s 2>&1 | \
// RUN: %{FileCheck} --match-full-lines --allow-unused-prefixes=false %s
// RUN: %{explorer} --parser_debug --trace_file=- %s 2>&1 | \
// RUN: %{FileCheck} --match-full-lines --allow-unused-prefixes %s
// AUTOUPDATE: %{explorer} %s
// CHECK: result: 0
package ExplorerTest api;
fn identFn( x: i32 ) -> i32{
return x;
}
fn Main() -> i32 {
var x : i32 = 7 % 2;
if( not (x == 1) ){
return 1;
}
x = (3*3) % 3;
if( not (x == 0)){
return 2;
}
x = (4+4+4+4) % (2+1);
if( not (x == 1) ){
return 3;
}
x = 15 % (identFn(2)+1);
if( not (x == 0)){
return 4;
}
x = -15 % 7;
if( not (x == -1)){
return 5;
}
x = 15 % -7;
if( not ( x == 1)){
return 6;
}
x = -15 % -identFn(7);
if( not (x == -1)){
return 7;
}
return 0;
}