| //===-- lib/Common/Fortran.cpp --------------------------------------------===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "flang/Common/Fortran.h" |
| |
| namespace Fortran::common { |
| |
| const char *AsFortran(NumericOperator opr) { |
| switch (opr) { |
| SWITCH_COVERS_ALL_CASES |
| case NumericOperator::Power: |
| return "**"; |
| case NumericOperator::Multiply: |
| return "*"; |
| case NumericOperator::Divide: |
| return "/"; |
| case NumericOperator::Add: |
| return "+"; |
| case NumericOperator::Subtract: |
| return "-"; |
| } |
| } |
| |
| const char *AsFortran(LogicalOperator opr) { |
| switch (opr) { |
| SWITCH_COVERS_ALL_CASES |
| case LogicalOperator::And: |
| return ".and."; |
| case LogicalOperator::Or: |
| return ".or."; |
| case LogicalOperator::Eqv: |
| return ".eqv."; |
| case LogicalOperator::Neqv: |
| return ".neqv."; |
| case LogicalOperator::Not: |
| return ".not."; |
| } |
| } |
| |
| const char *AsFortran(RelationalOperator opr) { |
| switch (opr) { |
| SWITCH_COVERS_ALL_CASES |
| case RelationalOperator::LT: |
| return "<"; |
| case RelationalOperator::LE: |
| return "<="; |
| case RelationalOperator::EQ: |
| return "=="; |
| case RelationalOperator::NE: |
| return "/="; |
| case RelationalOperator::GE: |
| return ">="; |
| case RelationalOperator::GT: |
| return ">"; |
| } |
| } |
| |
| } // namespace Fortran::common |