summaryrefslogtreecommitdiff
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
parentfc13acc3dcb5b1f215c007f583a63551f6a71363 (diff)
downloadmusl-11d1e2e2ded07673411ba872c1e3d0096dc79439.tar.gz
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.
-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