Remove compiler warnings when building Bionic.

Also add missing declarations to misc. functions.
Fix clearerr() implementation (previous was broken).
Handle feature test macros like _POSIX_C_SOURCE properly.

Change-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4
diff --git a/libc/unistd/seteuid.c b/libc/unistd/seteuid.c
index dd94932..b3ea372 100644
--- a/libc/unistd/seteuid.c
+++ b/libc/unistd/seteuid.c
@@ -26,6 +26,9 @@
  * SUCH DAMAGE.
  */
 #include <unistd.h>
+#include "cpuacct.h"
+
+extern int __setresuid(uid_t, uid_t, uid_t);
 
 int seteuid(uid_t euid)
 {
diff --git a/libc/unistd/setresuid.c b/libc/unistd/setresuid.c
index 1964881..e62b3e9 100644
--- a/libc/unistd/setresuid.c
+++ b/libc/unistd/setresuid.c
@@ -26,6 +26,9 @@
  * SUCH DAMAGE.
  */
 #include <unistd.h>
+#include "cpuacct.h"
+
+extern int __setresuid(uid_t ruid, uid_t euid, uid_t suid);
 
 int setresuid(uid_t ruid, uid_t euid, uid_t suid)
 {
diff --git a/libc/unistd/setreuid.c b/libc/unistd/setreuid.c
index 04c2826..32e70c8 100644
--- a/libc/unistd/setreuid.c
+++ b/libc/unistd/setreuid.c
@@ -26,6 +26,9 @@
  * SUCH DAMAGE.
  */
 #include <unistd.h>
+#include "cpuacct.h"
+
+extern int __setreuid(uid_t ruid, uid_t euid);
 
 int setreuid(uid_t ruid, uid_t euid)
 {
diff --git a/libc/unistd/setuid.c b/libc/unistd/setuid.c
index 8ab637d..30785d6 100644
--- a/libc/unistd/setuid.c
+++ b/libc/unistd/setuid.c
@@ -26,6 +26,9 @@
  * SUCH DAMAGE.
  */
 #include <unistd.h>
+#include "cpuacct.h"
+
+extern int __setuid(uid_t);
 
 int setuid(uid_t uid)
 {
diff --git a/libc/unistd/sysconf.c b/libc/unistd/sysconf.c
index dedc5bc..27b113c 100644
--- a/libc/unistd/sysconf.c
+++ b/libc/unistd/sysconf.c
@@ -96,7 +96,7 @@
     case _SC_COLL_WEIGHTS_MAX:  return _POSIX2_COLL_WEIGHTS_MASK;
 #endif
 #ifdef _POSIX2_EXPR_NEST_MAX
-    case _SC_EXPR_NEXT_MASK:    return _POSIX2_EXPR_NEST_MAX;
+    case _SC_EXPR_NEST_MAX:    return _POSIX2_EXPR_NEST_MAX;
 #endif
 #ifdef _POSIX2_LINE_MAX
     case _SC_LINE_MAX:          return _POSIX2_LINE_MAX;