commit e0c4896ed41faa71445d9e0b1751aba5157343c9 from: Russ Cox date: Sun Jan 12 20:07:42 2020 UTC lib9: make a p9frexp function wrapping system frexp Under certain conditions it looks like frexp gets #defined to something else on macOS during system headers, which then breaks the declaration in libc.h. commit - fafa622a5bdf71adfbb4334541c3b65f29c89ca9 commit + e0c4896ed41faa71445d9e0b1751aba5157343c9 blob - 94d5b5ca500807dfbd8c67a87ca20c1309b80eea blob + 4fa86b22eed34947454148faac83905a28dea085 --- include/libc.h +++ include/libc.h @@ -383,7 +383,7 @@ extern int encodefmt(Fmt*); extern int dirmodefmt(Fmt*); extern int exitcode(char*); extern void exits(char*); -extern double frexp(double, int*); +extern double p9frexp(double, int*); extern ulong getcallerpc(void*); #if defined(__GNUC__) || defined(__clang__) #define getcallerpc(x) ((ulong)__builtin_return_address(0)) @@ -436,6 +436,8 @@ extern void (*_unpin)(void); #define atoll p9atoll #define encrypt p9encrypt #define decrypt p9decrypt +#undef frexp +#define frexp p9frexp #define getenv p9getenv #define getwd p9getwd #define longjmp p9longjmp blob - /dev/null blob + fe3e2f73f593730659b16d05d9fefce25f7bd70c (mode 644) --- /dev/null +++ src/lib9/frexp.c @@ -0,0 +1,9 @@ +#include +#define NOPLAN9DEFINES +#include + +double +p9frexp(double d, int *i) +{ + return frexp(d, i); +} blob - 943b597b9871a64e00b87b2ed70fa9e763dae0ec blob + 7c37de4207a392f8f308ff80b44504494b64d5aa --- src/lib9/mkfile +++ src/lib9/mkfile @@ -22,6 +22,7 @@ FMTOFILES=\ fmtstr.$O\ fmtvprint.$O\ fprint.$O\ + frexp.$O\ nan64.$O\ print.$O\ runefmtstr.$O\