From: Rich Felker <dalias@aerifal.cx>
Date: Mon, 23 Mar 2015 15:26:51 +0000 (-0400)
Subject: fix FLT_ROUNDS regression in C++ applications
X-Git-Tag: v1.1.8~3
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=11d1e2e2ded07673411ba872c1e3d0096dc79439;p=musl

fix FLT_ROUNDS regression in C++ applications

commit 559de8f5f06da9022cbba70e22e14a710eb74513 redefined FLT_ROUNDS
to use an external function that can report the actual current
rounding mode, rather than always reporting round-to-nearest. however,
float.h did not include 'extern "C"' wrapping for C++, so C++ programs
using FLT_ROUNDS ended up with an unresolved reference to a
name-mangled C++ function __flt_rounds.
---

diff --git a/include/float.h b/include/float.h
index c6429d33..713aadb9 100644
--- a/include/float.h
+++ b/include/float.h
@@ -1,6 +1,10 @@
 #ifndef _FLOAT_H
 #define _FLOAT_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int __flt_rounds(void);
 #define FLT_ROUNDS (__flt_rounds())
 
@@ -41,4 +45,8 @@ int __flt_rounds(void);
 
 #include <bits/float.h>
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif