From 85b131a719b3ca554a6cf4840f8ec27feb60ec07 Mon Sep 17 00:00:00 2001
From: Bastien Brunnenstein <Meoo@users.noreply.github.com>
Date: Tue, 5 Dec 2017 00:06:13 +0100
Subject: [PATCH] Replace the non standard M_PI with a constant (#4528)

---
 src/idl_parser.cpp | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/idl_parser.cpp b/src/idl_parser.cpp
index 65e7cb86..57e72267 100644
--- a/src/idl_parser.cpp
+++ b/src/idl_parser.cpp
@@ -18,12 +18,6 @@
 #include <list>
 #include <iostream>
 
-#ifdef _WIN32
-#if !defined(_USE_MATH_DEFINES)
-#define _USE_MATH_DEFINES  // For M_PI.
-#endif                     // !defined(_USE_MATH_DEFINES)
-#endif                     // _WIN32
-
 #include <math.h>
 
 #include "flatbuffers/idl.h"
@@ -31,6 +25,8 @@
 
 namespace flatbuffers {
 
+const double kPi = 3.14159265358979323846;
+
 const char *const kTypeNames[] = {
   #define FLATBUFFERS_TD(ENUM, IDLTYPE, \
     CTYPE, JTYPE, GTYPE, NTYPE, PTYPE) \
@@ -1272,8 +1268,8 @@ CheckedError Parser::ParseSingleValue(Value &e) {
         auto x = strtod(e.constant.c_str(), nullptr); \
         e.constant = NumToString(op); \
       }
-    FLATBUFFERS_FN_DOUBLE("deg", x / M_PI * 180);
-    FLATBUFFERS_FN_DOUBLE("rad", x * M_PI / 180);
+    FLATBUFFERS_FN_DOUBLE("deg", x / kPi * 180);
+    FLATBUFFERS_FN_DOUBLE("rad", x * kPi / 180);
     FLATBUFFERS_FN_DOUBLE("sin", sin(x));
     FLATBUFFERS_FN_DOUBLE("cos", cos(x));
     FLATBUFFERS_FN_DOUBLE("tan", tan(x));
-- 
GitLab