Wed Jun 14 03:45:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
authorRoland McGrath <roland@gnu.org>
Wed, 14 Jun 1995 17:15:57 +0000 (17:15 +0000)
committerRoland McGrath <roland@gnu.org>
Wed, 14 Jun 1995 17:15:57 +0000 (17:15 +0000)
* 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!!!

ChangeLog
hurd/hurd/signal.h
hurd/hurd/threadvar.h
libc-symbols.h
stdio/stdio.h

index fca79e1..e9812c8 100644 (file)
--- 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
index d88d287..d28d1c6 100644 (file)
@@ -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)
 {
index eab133a..3d5feab 100644 (file)
@@ -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)
 {
index 1782737..f4d82a6 100644 (file)
@@ -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
index 2994432..a36081d 100644 (file)
@@ -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)