From 91de1f62fb95e07997b0c3f5e6671a77ce68f7eb Mon Sep 17 00:00:00 2001 From: peter klausler Date: Tue, 7 May 2019 17:05:14 -0700 Subject: [PATCH] [flang] dodge clang build problem with constexpr Original-commit: flang-compiler/f18@83995a5a981dc25babd87ebbc816f026f3033b2e Reviewed-on: https://github.com/flang-compiler/f18/pull/449 Tree-same-pre-rewrite: false --- flang/lib/evaluate/descender.h | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/flang/lib/evaluate/descender.h b/flang/lib/evaluate/descender.h index 5db2472c0c57..cb7312519406 100644 --- a/flang/lib/evaluate/descender.h +++ b/flang/lib/evaluate/descender.h @@ -107,19 +107,23 @@ public: template void Descend(const Expr &expr) { Visit(expr.u); } template void Descend(Expr &expr) { Visit(expr.u); } - template - void Descend(const Operation &op) { + template + void Descend(const Operation &op) { Visit(op.left()); - if constexpr (op.operands > 1) { - Visit(op.right()); - } } - template - void Descend(Operation &op) { + template + void Descend(Operation &op) { Visit(op.left()); - if constexpr (op.operands > 1) { - Visit(op.right()); - } + } + template + void Descend(const Operation &op) { + Visit(op.left()); + Visit(op.right()); + } + template + void Descend(Operation &op) { + Visit(op.left()); + Visit(op.right()); } void Descend(const Relational &r) { Visit(r.u); } -- 2.34.1