DO NOT MERGE: The future is now.

__INTRODUCED_IN_FUTURE -> __INTRODUCED_IN(26)

Bug: http://b/37437368
Test: treehugger
Change-Id: I601a23da83b65a0cd582cc840ed3856a9031b673
(cherry picked from commit cb302f932a3532f1484e1e70894e9b1199384283)
diff --git a/libc/include/bits/wctype.h b/libc/include/bits/wctype.h
index c968d71..f21d46e 100644
--- a/libc/include/bits/wctype.h
+++ b/libc/include/bits/wctype.h
@@ -58,8 +58,8 @@
 int iswctype(wint_t, wctype_t);
 
 typedef const void* wctrans_t;
-wint_t towctrans(wint_t, wctrans_t) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD;
-wctrans_t wctrans(const char*) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD;
+wint_t towctrans(wint_t, wctrans_t) __INTRODUCED_IN(26) __VERSIONER_NO_GUARD;
+wctrans_t wctrans(const char*) __INTRODUCED_IN(26) __VERSIONER_NO_GUARD;
 
 __END_DECLS
 
diff --git a/libc/include/complex.h b/libc/include/complex.h
index f4dc124..c020e4f 100644
--- a/libc/include/complex.h
+++ b/libc/include/complex.h
@@ -61,63 +61,63 @@
 /* 7.3.5.1 The cacos functions */
 double complex cacos(double complex) __INTRODUCED_IN(23);
 float complex cacosf(float complex) __INTRODUCED_IN(23);
-long double complex cacosl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex cacosl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.5.2 The casin functions */
 double complex casin(double complex) __INTRODUCED_IN(23);
 float complex casinf(float complex) __INTRODUCED_IN(23);
-long double complex casinl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex casinl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.5.1 The catan functions */
 double complex catan(double complex) __INTRODUCED_IN(23);
 float complex catanf(float complex) __INTRODUCED_IN(23);
-long double complex catanl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex catanl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.5.1 The ccos functions */
 double complex ccos(double complex) __INTRODUCED_IN(23);
 float complex ccosf(float complex) __INTRODUCED_IN(23);
-long double complex ccosl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex ccosl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.5.1 The csin functions */
 double complex csin(double complex) __INTRODUCED_IN(23);
 float complex csinf(float complex) __INTRODUCED_IN(23);
-long double complex csinl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex csinl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.5.1 The ctan functions */
 double complex ctan(double complex) __INTRODUCED_IN(23);
 float complex ctanf(float complex) __INTRODUCED_IN(23);
-long double complex ctanl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex ctanl(long double complex) __INTRODUCED_IN(26);
 
 /* 7.3.6 Hyperbolic functions */
 /* 7.3.6.1 The cacosh functions */
 double complex cacosh(double complex) __INTRODUCED_IN(23);
 float complex cacoshf(float complex) __INTRODUCED_IN(23);
-long double complex cacoshl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex cacoshl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.6.2 The casinh functions */
 double complex casinh(double complex) __INTRODUCED_IN(23);
 float complex casinhf(float complex) __INTRODUCED_IN(23);
-long double complex casinhl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex casinhl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.6.3 The catanh functions */
 double complex catanh(double complex) __INTRODUCED_IN(23);
 float complex catanhf(float complex) __INTRODUCED_IN(23);
-long double complex catanhl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex catanhl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.6.4 The ccosh functions */
 double complex ccosh(double complex) __INTRODUCED_IN(23);
 float complex ccoshf(float complex) __INTRODUCED_IN(23);
-long double complex ccoshl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex ccoshl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.6.5 The csinh functions */
 double complex csinh(double complex) __INTRODUCED_IN(23);
 float complex csinhf(float complex) __INTRODUCED_IN(23);
-long double complex csinhl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex csinhl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.6.6 The ctanh functions */
 double complex ctanh(double complex) __INTRODUCED_IN(23);
 float complex ctanhf(float complex) __INTRODUCED_IN(23);
-long double complex ctanhl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex ctanhl(long double complex) __INTRODUCED_IN(26);
 
 /* 7.3.7 Exponential and logarithmic functions */
 /* 7.3.7.1 The cexp functions */
 double complex cexp(double complex) __INTRODUCED_IN(23);
 float complex cexpf(float complex) __INTRODUCED_IN(23);
-long double complex cexpl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex cexpl(long double complex) __INTRODUCED_IN(26);
 /* 7.3.7.2 The clog functions */
-double complex clog(double complex) __INTRODUCED_IN_FUTURE;
-float complex clogf(float complex) __INTRODUCED_IN_FUTURE;
-long double complex clogl(long double complex) __INTRODUCED_IN_FUTURE;
+double complex clog(double complex) __INTRODUCED_IN(26);
+float complex clogf(float complex) __INTRODUCED_IN(26);
+long double complex clogl(long double complex) __INTRODUCED_IN(26);
 
 /* 7.3.8 Power and absolute-value functions */
 /* 7.3.8.1 The cabs functions */
@@ -125,9 +125,9 @@
 float cabsf(float complex) __INTRODUCED_IN(23);
 long double cabsl(long double complex) __INTRODUCED_IN_32(21) __INTRODUCED_IN_64(23);
 /* 7.3.8.2 The cpow functions */
-double complex cpow(double complex, double complex) __INTRODUCED_IN_FUTURE;
-float complex cpowf(float complex, float complex) __INTRODUCED_IN_FUTURE;
-long double complex cpowl(long double complex, long double complex) __INTRODUCED_IN_FUTURE;
+double complex cpow(double complex, double complex) __INTRODUCED_IN(26);
+float complex cpowf(float complex, float complex) __INTRODUCED_IN(26);
+long double complex cpowl(long double complex, long double complex) __INTRODUCED_IN(26);
 /* 7.3.8.3 The csqrt functions */
 double complex csqrt(double complex) __INTRODUCED_IN(23);
 float complex csqrtf(float complex) __INTRODUCED_IN(23);
diff --git a/libc/include/fcntl.h b/libc/include/fcntl.h
index 2d01be7..652430c 100644
--- a/libc/include/fcntl.h
+++ b/libc/include/fcntl.h
@@ -91,7 +91,7 @@
 
 #if defined(__USE_GNU)
 ssize_t readahead(int, off64_t, size_t) __INTRODUCED_IN(16);
-int sync_file_range(int, off64_t, off64_t, unsigned int) __INTRODUCED_IN_FUTURE;
+int sync_file_range(int, off64_t, off64_t, unsigned int) __INTRODUCED_IN(26);
 #endif
 
 int __open_2(const char*, int) __INTRODUCED_IN(17);
diff --git a/libc/include/grp.h b/libc/include/grp.h
index 1d38265..b727562 100644
--- a/libc/include/grp.h
+++ b/libc/include/grp.h
@@ -51,10 +51,10 @@
 struct group* getgrnam(const char*);
 
 /* Note: Android has thousands and thousands of ids to iterate through. */
-struct group* getgrent(void) __INTRODUCED_IN_FUTURE;
+struct group* getgrent(void) __INTRODUCED_IN(26);
 
-void setgrent(void) __INTRODUCED_IN_FUTURE;
-void endgrent(void) __INTRODUCED_IN_FUTURE;
+void setgrent(void) __INTRODUCED_IN(26);
+void endgrent(void) __INTRODUCED_IN(26);
 int getgrgid_r(gid_t, struct group*, char*, size_t, struct group**) __INTRODUCED_IN(24);
 int getgrnam_r(const char*, struct group*, char*, size_t, struct group**) __INTRODUCED_IN(24);
 int getgrouplist (const char*, gid_t, gid_t*, int*);
diff --git a/libc/include/langinfo.h b/libc/include/langinfo.h
index 5c884ac..c330117 100644
--- a/libc/include/langinfo.h
+++ b/libc/include/langinfo.h
@@ -92,8 +92,8 @@
 #define NOEXPR 54
 #define CRNCYSTR 55
 
-char* nl_langinfo(nl_item) __INTRODUCED_IN_FUTURE;
-char* nl_langinfo_l(nl_item, locale_t) __INTRODUCED_IN_FUTURE;
+char* nl_langinfo(nl_item) __INTRODUCED_IN(26);
+char* nl_langinfo_l(nl_item, locale_t) __INTRODUCED_IN(26);
 
 __END_DECLS
 
diff --git a/libc/include/mntent.h b/libc/include/mntent.h
index ad9d72f..551a085 100644
--- a/libc/include/mntent.h
+++ b/libc/include/mntent.h
@@ -61,7 +61,7 @@
 struct mntent* getmntent(FILE*);
 struct mntent* getmntent_r(FILE*, struct mntent*, char*, int) __INTRODUCED_IN(21);
 FILE* setmntent(const char*, const char*) __INTRODUCED_IN(21);
-char* hasmntopt(const struct mntent*, const char*) __INTRODUCED_IN_FUTURE;
+char* hasmntopt(const struct mntent*, const char*) __INTRODUCED_IN(26);
 
 __END_DECLS
 
diff --git a/libc/include/nl_types.h b/libc/include/nl_types.h
index bcaab06..d478353 100644
--- a/libc/include/nl_types.h
+++ b/libc/include/nl_types.h
@@ -39,9 +39,9 @@
 typedef void* nl_catd;
 typedef int nl_item;
 
-nl_catd catopen(const char*, int) __INTRODUCED_IN_FUTURE;
-char* catgets(nl_catd, int, int, const char*) __INTRODUCED_IN_FUTURE;
-int catclose(nl_catd) __INTRODUCED_IN_FUTURE;
+nl_catd catopen(const char*, int) __INTRODUCED_IN(26);
+char* catgets(nl_catd, int, int, const char*) __INTRODUCED_IN(26);
+int catclose(nl_catd) __INTRODUCED_IN(26);
 
 __END_DECLS
 
diff --git a/libc/include/pthread.h b/libc/include/pthread.h
index ae4fdce..c34d1a3 100644
--- a/libc/include/pthread.h
+++ b/libc/include/pthread.h
@@ -207,7 +207,7 @@
 pthread_t pthread_self(void) __attribute_const__;
 
 #if defined(__USE_GNU)
-int pthread_getname_np(pthread_t, char* _Nonnull, size_t) __INTRODUCED_IN_FUTURE;
+int pthread_getname_np(pthread_t, char* _Nonnull, size_t) __INTRODUCED_IN(26);
 #endif
 /* TODO: this should be __USE_GNU too. */
 int pthread_setname_np(pthread_t, const char* _Nonnull);
diff --git a/libc/include/pwd.h b/libc/include/pwd.h
index 223fc5a..e37c637 100644
--- a/libc/include/pwd.h
+++ b/libc/include/pwd.h
@@ -84,10 +84,10 @@
 struct passwd* getpwuid(uid_t);
 
 /* Note: Android has thousands and thousands of ids to iterate through */
-struct passwd* getpwent(void) __INTRODUCED_IN_FUTURE;
+struct passwd* getpwent(void) __INTRODUCED_IN(26);
 
-void setpwent(void) __INTRODUCED_IN_FUTURE;
-void endpwent(void) __INTRODUCED_IN_FUTURE;
+void setpwent(void) __INTRODUCED_IN(26);
+void endpwent(void) __INTRODUCED_IN(26);
 
 int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12);
 int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12);
diff --git a/libc/include/signal.h b/libc/include/signal.h
index ffce1fa..1400328 100644
--- a/libc/include/signal.h
+++ b/libc/include/signal.h
@@ -136,16 +136,16 @@
 
 int sighold(int)
   __attribute__((deprecated("use sigprocmask() or pthread_sigmask() instead")))
-  __INTRODUCED_IN_FUTURE;
+  __INTRODUCED_IN(26);
 int sigignore(int)
-  __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN_FUTURE;
+  __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN(26);
 int sigpause(int)
-  __attribute__((deprecated("use sigsuspend() instead"))) __INTRODUCED_IN_FUTURE;
+  __attribute__((deprecated("use sigsuspend() instead"))) __INTRODUCED_IN(26);
 int sigrelse(int)
   __attribute__((deprecated("use sigprocmask() or pthread_sigmask() instead")))
-  __INTRODUCED_IN_FUTURE;
+  __INTRODUCED_IN(26);
 sighandler_t sigset(int, sighandler_t)
-  __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN_FUTURE;
+  __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN(26);
 
 int raise(int);
 int kill(pid_t, int);
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index 8b0e9df..24916d6 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -227,7 +227,7 @@
 int vsscanf(const char* __restrict _Nonnull, const char* __restrict _Nonnull, __va_list) __scanflike(2, 0);
 
 #define L_ctermid 1024 /* size for ctermid() */
-char* ctermid(char*) __INTRODUCED_IN_FUTURE;
+char* ctermid(char*) __INTRODUCED_IN(26);
 
 FILE* fdopen(int, const char*);
 int fileno(FILE*);
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h
index bf25160..3cd8ad1 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -77,7 +77,7 @@
 double strtod(const char*, char**);
 long double strtold(const char*, char**) __INTRODUCED_IN(21);
 
-unsigned long strtoul_l(const char*, char**, int, locale_t) __INTRODUCED_IN_FUTURE;
+unsigned long strtoul_l(const char*, char**, int, locale_t) __INTRODUCED_IN(26);
 
 int atoi(const char*) __attribute_pure__;
 long atol(const char*) __attribute_pure__;
@@ -119,7 +119,7 @@
 int ptsname_r(int, char*, size_t);
 int unlockpt(int);
 
-int getsubopt(char**, char* const*, char**) __INTRODUCED_IN_FUTURE;
+int getsubopt(char**, char* const*, char**) __INTRODUCED_IN(26);
 
 typedef struct {
     int  quot;
@@ -146,7 +146,7 @@
 const char* getprogname(void) __INTRODUCED_IN(21);
 void setprogname(const char*) __INTRODUCED_IN(21);
 
-int mblen(const char*, size_t) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD;
+int mblen(const char*, size_t) __INTRODUCED_IN(26) __VERSIONER_NO_GUARD;
 size_t mbstowcs(wchar_t*, const char*, size_t);
 int mbtowc(wchar_t*, const char*, size_t) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD;
 int wctomb(char*, wchar_t) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD;
@@ -226,9 +226,9 @@
 #endif
 
 #if __ANDROID_API__ >= __ANDROID_API_FUTURE__
-double strtod_l(const char*, char**, locale_t) __INTRODUCED_IN_FUTURE;
-float strtof_l(const char*, char**, locale_t) __INTRODUCED_IN_FUTURE;
-long strtol_l(const char*, char**, int, locale_t) __INTRODUCED_IN_FUTURE;
+double strtod_l(const char*, char**, locale_t) __INTRODUCED_IN(26);
+float strtof_l(const char*, char**, locale_t) __INTRODUCED_IN(26);
+long strtol_l(const char*, char**, int, locale_t) __INTRODUCED_IN(26);
 #else
 // Implemented as static inlines.
 #endif
diff --git a/libc/include/sys/msg.h b/libc/include/sys/msg.h
index f746bb5..ced5a3e 100644
--- a/libc/include/sys/msg.h
+++ b/libc/include/sys/msg.h
@@ -41,10 +41,10 @@
 typedef __kernel_ulong_t msgqnum_t;
 typedef __kernel_ulong_t msglen_t;
 
-int msgctl(int, int, struct msqid_ds*) __INTRODUCED_IN_FUTURE;
-int msgget(key_t, int) __INTRODUCED_IN_FUTURE;
-ssize_t msgrcv(int, void*, size_t, long, int) __INTRODUCED_IN_FUTURE;
-int msgsnd(int, const void*, size_t, int) __INTRODUCED_IN_FUTURE;
+int msgctl(int, int, struct msqid_ds*) __INTRODUCED_IN(26);
+int msgget(key_t, int) __INTRODUCED_IN(26);
+ssize_t msgrcv(int, void*, size_t, long, int) __INTRODUCED_IN(26);
+int msgsnd(int, const void*, size_t, int) __INTRODUCED_IN(26);
 
 __END_DECLS
 
diff --git a/libc/include/sys/quota.h b/libc/include/sys/quota.h
index 08ca982..51f7675 100644
--- a/libc/include/sys/quota.h
+++ b/libc/include/sys/quota.h
@@ -40,7 +40,7 @@
 
 __BEGIN_DECLS
 
-int quotactl(int, const char*, int, char*) __INTRODUCED_IN_FUTURE;
+int quotactl(int, const char*, int, char*) __INTRODUCED_IN(26);
 
 __END_DECLS
 
diff --git a/libc/include/sys/sem.h b/libc/include/sys/sem.h
index 99873c1..904c334 100644
--- a/libc/include/sys/sem.h
+++ b/libc/include/sys/sem.h
@@ -43,12 +43,12 @@
 
 __BEGIN_DECLS
 
-int semctl(int, int, int, ...) __INTRODUCED_IN_FUTURE;
-int semget(key_t, int, int) __INTRODUCED_IN_FUTURE;
-int semop(int, struct sembuf*, size_t) __INTRODUCED_IN_FUTURE;
+int semctl(int, int, int, ...) __INTRODUCED_IN(26);
+int semget(key_t, int, int) __INTRODUCED_IN(26);
+int semop(int, struct sembuf*, size_t) __INTRODUCED_IN(26);
 
 #if defined(__USE_GNU)
-int semtimedop(int, struct sembuf*, size_t, const struct timespec*) __INTRODUCED_IN_FUTURE;
+int semtimedop(int, struct sembuf*, size_t, const struct timespec*) __INTRODUCED_IN(26);
 #endif
 
 __END_DECLS
diff --git a/libc/include/sys/shm.h b/libc/include/sys/shm.h
index 7836460..ccd3b36 100644
--- a/libc/include/sys/shm.h
+++ b/libc/include/sys/shm.h
@@ -42,10 +42,10 @@
 
 typedef unsigned long shmatt_t;
 
-void* shmat(int, const void*, int) __INTRODUCED_IN_FUTURE;
-int shmctl(int, int, struct shmid_ds*) __INTRODUCED_IN_FUTURE;
-int shmdt(const void*) __INTRODUCED_IN_FUTURE;
-int shmget(key_t, size_t, int) __INTRODUCED_IN_FUTURE;
+void* shmat(int, const void*, int) __INTRODUCED_IN(26);
+int shmctl(int, int, struct shmid_ds*) __INTRODUCED_IN(26);
+int shmdt(const void*) __INTRODUCED_IN(26);
+int shmget(key_t, size_t, int) __INTRODUCED_IN(26);
 
 __END_DECLS
 
diff --git a/libc/include/sys/socket.h b/libc/include/sys/socket.h
index c87465f..2dc54aa 100644
--- a/libc/include/sys/socket.h
+++ b/libc/include/sys/socket.h
@@ -326,7 +326,7 @@
         socklen_t*) __overloadable __RENAME_CLANG(recvfrom);
 
 extern ssize_t __sendto_chk(int, const void*, size_t, size_t, int, const struct sockaddr*,
-        socklen_t) __INTRODUCED_IN_FUTURE;
+        socklen_t) __INTRODUCED_IN(26);
 ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, struct sockaddr*,
         socklen_t*) __INTRODUCED_IN(21);
 
diff --git a/libc/include/sys/system_properties.h b/libc/include/sys/system_properties.h
index c0bd445..d075859 100644
--- a/libc/include/sys/system_properties.h
+++ b/libc/include/sys/system_properties.h
@@ -58,7 +58,7 @@
  */
 void __system_property_read_callback(const prop_info *pi,
     void (*callback)(void* cookie, const char *name, const char *value, uint32_t serial),
-    void* cookie) __INTRODUCED_IN_FUTURE;
+    void* cookie) __INTRODUCED_IN(26);
 
 /*
  * Passes a `prop_info` for each system property to the provided
@@ -86,7 +86,7 @@
                             uint32_t old_serial,
                             uint32_t* new_serial_ptr,
                             const struct timespec* relative_timeout)
-    __INTRODUCED_IN_FUTURE;
+    __INTRODUCED_IN(26);
 
 /* Deprecated. In Android O and above, there's no limit on property name length. */
 #define PROP_NAME_MAX   32
diff --git a/libc/include/sys/time.h b/libc/include/sys/time.h
index ad5844a..4d477e1 100644
--- a/libc/include/sys/time.h
+++ b/libc/include/sys/time.h
@@ -47,12 +47,12 @@
 int utimes(const char*, const struct timeval*);
 
 #if defined(__USE_BSD)
-int futimes(int, const struct timeval[2]) __INTRODUCED_IN_FUTURE;
-int lutimes(const char*, const struct timeval[2]) __INTRODUCED_IN_FUTURE;
+int futimes(int, const struct timeval[2]) __INTRODUCED_IN(26);
+int lutimes(const char*, const struct timeval[2]) __INTRODUCED_IN(26);
 #endif
 
 #if defined(__USE_GNU)
-int futimesat(int, const char*, const struct timeval[2]) __INTRODUCED_IN_FUTURE;
+int futimesat(int, const char*, const struct timeval[2]) __INTRODUCED_IN(26);
 #endif
 
 #define timerclear(a)   \
diff --git a/libc/include/unistd.h b/libc/include/unistd.h
index 017d97a..ff2e9f6 100644
--- a/libc/include/unistd.h
+++ b/libc/include/unistd.h
@@ -262,8 +262,8 @@
 ssize_t __readlink_chk(const char*, char*, size_t, size_t) __INTRODUCED_IN(23);
 ssize_t __readlinkat_chk(int dirfd, const char*, char*, size_t, size_t) __INTRODUCED_IN(23);
 
-int getdomainname(char*, size_t) __INTRODUCED_IN_FUTURE;
-int setdomainname(const char*, size_t) __INTRODUCED_IN_FUTURE;
+int getdomainname(char*, size_t) __INTRODUCED_IN(26);
+int setdomainname(const char*, size_t) __INTRODUCED_IN(26);
 
 #if defined(__BIONIC_FORTIFY)
 
diff --git a/libc/include/wctype.h b/libc/include/wctype.h
index 9e22a8f..39e34f6 100644
--- a/libc/include/wctype.h
+++ b/libc/include/wctype.h
@@ -55,8 +55,8 @@
 // Implemented as static inlines before 21.
 #endif
 
-wint_t towctrans_l(wint_t, wctrans_t, locale_t) __INTRODUCED_IN_FUTURE;
-wctrans_t wctrans_l(const char*, locale_t) __INTRODUCED_IN_FUTURE;
+wint_t towctrans_l(wint_t, wctrans_t, locale_t) __INTRODUCED_IN(26);
+wctrans_t wctrans_l(const char*, locale_t) __INTRODUCED_IN(26);
 
 wctype_t wctype_l(const char*, locale_t) __INTRODUCED_IN(21);
 int iswctype_l(wint_t, wctype_t, locale_t) __INTRODUCED_IN(21);
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index b83baf6..c4bc262 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -1286,58 +1286,58 @@
 
 LIBC_O {
   global:
-    __sendto_chk; # future
-    __system_property_read_callback; # future
-    __system_property_wait; # future
+    __sendto_chk; # introduced=26
+    __system_property_read_callback; # introduced=26
+    __system_property_wait; # introduced=26
     bsd_signal; # arm x86 mips versioned=26
-    catclose; # future
-    catgets; # future
-    catopen; # future
-    ctermid; # future
-    endgrent; # future
-    endpwent; # future
-    futimes; # future
-    futimesat; # future
-    getdomainname; # future
-    getgrent; # future
-    getpwent; # future
-    getsubopt; # future
-    hasmntopt; # future
-    lutimes; # future
-    mblen; # future
-    msgctl; # future
-    msgget; # future
-    msgrcv; # future
-    msgsnd; # future
-    nl_langinfo; # future
-    nl_langinfo_l; # future
-    pthread_getname_np; # future
-    quotactl; # future
-    semctl; # future
-    semget; # future
-    semop; # future
-    semtimedop; # future
-    setdomainname; # future
-    setgrent; # future
-    setpwent; # future
-    shmat; # future
-    shmctl; # future
-    shmdt; # future
-    shmget; # future
-    sighold; # future
-    sigignore; # future
-    sigpause; # future
-    sigrelse; # future
-    sigset; # future
-    strtod_l; # future
-    strtof_l; # future
-    strtol_l; # future
-    strtoul_l; # future
-    sync_file_range; # future
-    towctrans; # future
-    towctrans_l; # future
-    wctrans; # future
-    wctrans_l; # future
+    catclose; # introduced=26
+    catgets; # introduced=26
+    catopen; # introduced=26
+    ctermid; # introduced=26
+    endgrent; # introduced=26
+    endpwent; # introduced=26
+    futimes; # introduced=26
+    futimesat; # introduced=26
+    getdomainname; # introduced=26
+    getgrent; # introduced=26
+    getpwent; # introduced=26
+    getsubopt; # introduced=26
+    hasmntopt; # introduced=26
+    lutimes; # introduced=26
+    mblen; # introduced=26
+    msgctl; # introduced=26
+    msgget; # introduced=26
+    msgrcv; # introduced=26
+    msgsnd; # introduced=26
+    nl_langinfo; # introduced=26
+    nl_langinfo_l; # introduced=26
+    pthread_getname_np; # introduced=26
+    quotactl; # introduced=26
+    semctl; # introduced=26
+    semget; # introduced=26
+    semop; # introduced=26
+    semtimedop; # introduced=26
+    setdomainname; # introduced=26
+    setgrent; # introduced=26
+    setpwent; # introduced=26
+    shmat; # introduced=26
+    shmctl; # introduced=26
+    shmdt; # introduced=26
+    shmget; # introduced=26
+    sighold; # introduced=26
+    sigignore; # introduced=26
+    sigpause; # introduced=26
+    sigrelse; # introduced=26
+    sigset; # introduced=26
+    strtod_l; # introduced=26
+    strtof_l; # introduced=26
+    strtol_l; # introduced=26
+    strtoul_l; # introduced=26
+    sync_file_range; # introduced=26
+    towctrans; # introduced=26
+    towctrans_l; # introduced=26
+    wctrans; # introduced=26
+    wctrans_l; # introduced=26
 } LIBC_N;
 
 LIBC_PRIVATE {