diff options
author | Roland McGrath <roland@gnu.org> | 1995-06-14 17:15:57 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-06-14 17:15:57 +0000 |
commit | d6e2f671f716a25188d83350fa517ae9ea29f70f (patch) | |
tree | 174344177defa77e2bbdc3f172ee33e03a933d5f | |
parent | 5e75b23212343257fda8bea933521b0b7c5cdef6 (diff) | |
download | glibc-d6e2f671f716a25188d83350fa517ae9ea29f70f.zip glibc-d6e2f671f716a25188d83350fa517ae9ea29f70f.tar.gz glibc-d6e2f671f716a25188d83350fa517ae9ea29f70f.tar.bz2 |
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-- | ChangeLog | 16 | ||||
-rw-r--r-- | hurd/hurd/signal.h | 7 | ||||
-rw-r--r-- | hurd/hurd/threadvar.h | 9 | ||||
-rw-r--r-- | libc-symbols.h | 4 | ||||
-rw-r--r-- | stdio/stdio.h | 6 |
5 files changed, 36 insertions, 6 deletions
@@ -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 d88d287..d28d1c6 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 eab133a..3d5feab 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 1782737..f4d82a6 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 2994432..a36081d 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) |