restore attribute((const)) to pthread_self and errno location decls
authorRich Felker <dalias@aerifal.cx>
Tue, 16 Oct 2018 17:48:10 +0000 (13:48 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 16 Oct 2018 18:10:27 +0000 (14:10 -0400)
revert commit a603a75a72bb469c6be4963ed1b55fabe675fe15.

as a result of commit 1c84c99913bf1cd47b866ed31e665848a0da84a2 this is
now safe, assuming an interpretation of the somewhat-underspecified
attribute((const)) consistent with real-world usage.

include/errno.h
include/netdb.h
include/pthread.h

index 93f5f6ecb6c357816ad0a31e209df751de09e881..0361b33ad348a2ab1d3422a2399cb2e3ccf0217b 100644 (file)
@@ -9,6 +9,9 @@ extern "C" {
 
 #include <bits/errno.h>
 
+#ifdef __GNUC__
+__attribute__((const))
+#endif
 int *__errno_location(void);
 #define errno (*__errno_location())
 
index adde2c5e54f3dad1ae8255e89f43ee07d1d9d1ec..d096c78183b5609c4e5932adbd8d6ed8e75f168e 100644 (file)
@@ -115,6 +115,9 @@ struct protoent *getprotobynumber (int);
  || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700)
 struct hostent *gethostbyname (const char *);
 struct hostent *gethostbyaddr (const void *, socklen_t, int);
+#ifdef __GNUC__
+__attribute__((const))
+#endif
 int *__h_errno_location(void);
 #define h_errno (*__h_errno_location())
 #define HOST_NOT_FOUND 1
index bba9587e7b026b13df3e6d9aaae5cf1ce7ecd106..e238321b9caf14af72d7f216a1e7c82bbc830471 100644 (file)
@@ -79,6 +79,9 @@ int pthread_detach(pthread_t);
 _Noreturn void pthread_exit(void *);
 int pthread_join(pthread_t, void **);
 
+#ifdef __GNUC__
+__attribute__((const))
+#endif
 pthread_t pthread_self(void);
 
 int pthread_equal(pthread_t, pthread_t);