summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-06-14 17:15:57 +0000
committerRoland McGrath <roland@gnu.org>1995-06-14 17:15:57 +0000
commitd6e2f671f716a25188d83350fa517ae9ea29f70f (patch)
tree174344177defa77e2bbdc3f172ee33e03a933d5f
parent5e75b23212343257fda8bea933521b0b7c5cdef6 (diff)
Wed Jun 14 03:45:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio/stdio.h (__validfp): Use ({...}) rather than a comma expression, to avoid gcc's "value computed is not used" warning. * libc-symbols.h (_elf_set_element): Give the set-element variable an `unused' attribute. * hurd/hurd/threadvar.h (__hurd_threadvar_location): Declare with __attribute__ ((__const__)). * hurd/hurd/signal.h (_hurd_self_sigstate): Likewise. * hurd/hurd/userlink.h (_hurd_userlink_link): Properly set LINK->resource.next->resource.prevp when appropriate, not LINK->resource.next->thread.prevp!!!
-rw-r--r--ChangeLog16
-rw-r--r--hurd/hurd/signal.h7
-rw-r--r--hurd/hurd/threadvar.h9
-rw-r--r--libc-symbols.h4
-rw-r--r--stdio/stdio.h6
5 files changed, 36 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index fca79e1cb2..e9812c8054 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+Wed Jun 14 03:45:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * stdio/stdio.h (__validfp): Use ({...}) rather than a comma
+ expression, to avoid gcc's "value computed is not used" warning.
+
+ * libc-symbols.h (_elf_set_element): Give the set-element variable
+ an `unused' attribute.
+
+ * hurd/hurd/threadvar.h (__hurd_threadvar_location): Declare with
+ __attribute__ ((__const__)).
+ * hurd/hurd/signal.h (_hurd_self_sigstate): Likewise.
+
+ * hurd/hurd/userlink.h (_hurd_userlink_link): Properly set
+ LINK->resource.next->resource.prevp when appropriate, not
+ LINK->resource.next->thread.prevp!!!
+
Tue Jun 13 15:45:10 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* configure.in (libc_cv_asm_set_directive): Make sure that the
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index d88d287de3..d28d1c6c11 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -98,6 +98,13 @@ extern struct hurd_sigstate *_hurd_thread_sigstate (thread_t);
/* Get the sigstate of the current thread.
This uses a per-thread variable to optimize the lookup. */
+
+extern struct hurd_sigstate *_hurd_self_sigstate (void)
+ /* This declaration tells the compiler that the value is constant.
+ We assume this won't be called twice from the same stack frame
+ by different threads. */
+ __attribute__ ((__const__));
+
_EXTERN_INLINE struct hurd_sigstate *
_hurd_self_sigstate (void)
{
diff --git a/hurd/hurd/threadvar.h b/hurd/hurd/threadvar.h
index eab133a2f6..3d5feaba93 100644
--- a/hurd/hurd/threadvar.h
+++ b/hurd/hurd/threadvar.h
@@ -1,5 +1,5 @@
/* Internal per-thread variables for the Hurd.
-Copyright (C) 1994 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -88,6 +88,13 @@ __hurd_threadvar_location_from_sp (enum __hurd_threadvar_index __index,
/* Return the location of the current thread's value for the
per-thread variable with index INDEX. */
+extern unsigned long int *
+__hurd_threadvar_location (enum __hurd_threadvar_index __index)
+ /* This declaration tells the compiler that the value is constant
+ given the same argument. We assume this won't be called twice from
+ the same stack frame by different threads. */
+ __attribute__ ((__const__));
+
_EXTERN_INLINE unsigned long int *
__hurd_threadvar_location (enum __hurd_threadvar_index __index)
{
diff --git a/libc-symbols.h b/libc-symbols.h
index 1782737c93..f4d82a6e72 100644
--- a/libc-symbols.h
+++ b/libc-symbols.h
@@ -181,11 +181,11 @@ Cambridge, MA 02139, USA. */
because it will need to be relocated at run time anyway. */
#define _elf_set_element(set, symbol) \
static const void *__elf_set_##set##_element_##symbol##__ \
- __attribute__ ((section (#set))) = &(symbol)
+ __attribute__ ((unused, section (#set))) = &(symbol)
#else
#define _elf_set_element(set, symbol) \
static const void *const __elf_set_##set##_element_##symbol##__ \
- __attribute__ ((section (#set))) = &(symbol)
+ __attribute__ ((unused, section (#set))) = &(symbol)
#endif
/* Define SET as a symbol set. This may be required (it is in a.out) to
diff --git a/stdio/stdio.h b/stdio/stdio.h
index 2994432328..a36081d2d4 100644
--- a/stdio/stdio.h
+++ b/stdio/stdio.h
@@ -213,9 +213,9 @@ struct __stdio_file
See stdio/glue.c for what the confusing bit is about. */
#define __validfp(stream) \
(stream != NULL && \
- ((stream->__magic == _GLUEMAGIC && \
- (stream = *(((struct { int __magic; FILE **__p; } *) stream)->__p))), \
- (stream->__magic == _IOMAGIC)))
+ ({ if (stream->__magic == _GLUEMAGIC) \
+ stream = *((struct { int __magic; FILE **__p; } *) stream)->__p; \
+ stream->__magic == _IOMAGIC; }))
/* Clear the error and EOF indicators of STREAM. */
#define __clearerr(stream) ((stream)->__error = (stream)->__eof = 0)