diff --git a/src/macro/Expressions.cc b/src/macro/Expressions.cc
index e96266115904f4badc025cc1054f3c97fe672ff7..dd9ce417b5a83ba0bad8e14b59e7f0cabd6f805a 100644
--- a/src/macro/Expressions.cc
+++ b/src/macro/Expressions.cc
@@ -757,6 +757,8 @@ UnaryOp::eval()
     {
       throw StackTrace("unary operation", e.what(), location);
     }
+  // Suppress GCC warning
+  exit(EXIT_FAILURE);
 }
 
 BaseTypePtr
@@ -844,6 +846,8 @@ TrinaryOp::eval()
     {
       throw StackTrace("trinary operation", e.what(), location);
     }
+  // Suppress GCC warning
+  exit(EXIT_FAILURE);
 }
 
 BaseTypePtr
@@ -1000,6 +1004,8 @@ UnaryOp::to_string() const noexcept
     case codes::UnaryOp::normcdf:
       return "normcdf(" + retval + ")";
     }
+  // Suppress GCC warning
+  exit(EXIT_FAILURE);
 }
 
 string
@@ -1075,6 +1081,8 @@ TrinaryOp::to_string() const noexcept
     case codes::TrinaryOp::normcdf:
       return "normcdf(" + arg1->to_string() + ", " + arg2->to_string() + ", " + arg3->to_string() + ")";
     }
+  // Suppress GCC warning
+  exit(EXIT_FAILURE);
 }
 
 string