Browse Source

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.
Rich Felker 10 years ago
parent
commit
11d1e2e2de
1 changed files with 8 additions and 0 deletions
  1. 8 0
      include/float.h

+ 8 - 0
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