# Copyright (C) 2024 olang mantainers # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. fn main(): u32 { if 0 != 0 { return 1 } else if 1 == 1 { return 0 } return 1 } # XTEST test_compile(exit_code=0) # XTEST test_run_binary(exit_code=0) # TEST test_ast WITH # Translation_Unit # `-Function_Definition <name:main> <return:u32> # `-Block # |-If_Statement # | |-Binary_Operation (!=) # | | |-Literal <kind:u32> <value:0> # | | `-Literal <kind:u32> <value:0> # | |-Block # | | `-Return_Statement # | | `-Literal <kind:u32> <value:1> # | `-If_Statement # | |-Binary_Operation (==) # | | |-Literal <kind:u32> <value:1> # | | `-Literal <kind:u32> <value:1> # | `-Block # | `-Return_Statement # | `-Literal <kind:u32> <value:0> # `-Return_Statement # `-Literal <kind:u32> <value:1> # END