Fix precedence problems in preprocessor directives
authorKarl Williamson <khw@cpan.org>
Fri, 26 Apr 2019 03:22:27 +0000 (21:22 -0600)
committerKarl Williamson <khw@cpan.org>
Fri, 26 Apr 2019 03:26:57 +0000 (21:26 -0600)
Recent commit 9ec8aea5c056c7d3ffc270a57c9fb123a6416473 failed to fix
this precedence problem, which this does by adding some parens

perl.h

diff --git a/perl.h b/perl.h
index ce40030..e5a5585 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -6530,9 +6530,10 @@ expression, but with an empty argument list, like this:
 #define Atof                           my_atof
 #define Strtod                          my_strtod
 
-#if    defined(HAS_STRTOD) || defined(USE_QUADMATH)                 \
-    || defined(HAS_STRTOLD) && defined(HAS_LONG_DOUBLE)             \
-                            && defined(USE_LONG_DOUBLE)
+#if    defined(HAS_STRTOD)                                          \
+   ||  defined(USE_QUADMATH)                                        \
+   || (defined(HAS_STRTOLD) && defined(HAS_LONG_DOUBLE)             \
+                            && defined(USE_LONG_DOUBLE))
 #  define Perl_strtod   Strtod
 #endif