about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-03-23 11:26:51 -0400
committerRich Felker <dalias@aerifal.cx>2015-03-23 11:26:51 -0400
commit11d1e2e2ded07673411ba872c1e3d0096dc79439 (patch)
treeecab6c214eac3964a5c6e53b1fcf95b74fda0898 /include
parentfc13acc3dcb5b1f215c007f583a63551f6a71363 (diff)
downloadmusl-11d1e2e2ded07673411ba872c1e3d0096dc79439.tar.gz
musl-11d1e2e2ded07673411ba872c1e3d0096dc79439.tar.xz
musl-11d1e2e2ded07673411ba872c1e3d0096dc79439.zip
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.
Diffstat (limited to 'include')
-rw-r--r--include/float.h8
1 files changed, 8 insertions, 0 deletions
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