diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-03-23 11:26:51 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-03-23 11:26:51 -0400 |
commit | 11d1e2e2ded07673411ba872c1e3d0096dc79439 (patch) | |
tree | ecab6c214eac3964a5c6e53b1fcf95b74fda0898 /include | |
parent | fc13acc3dcb5b1f215c007f583a63551f6a71363 (diff) | |
download | musl-11d1e2e2ded07673411ba872c1e3d0096dc79439.tar.gz musl-11d1e2e2ded07673411ba872c1e3d0096dc79439.tar.bz2 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.h | 8 |
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 |