Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libpthread Switch back _Noreturn to __dead in C11 threads



details:   https://anonhg.NetBSD.org/src/rev/f931b76558a1
branches:  trunk
changeset: 459424:f931b76558a1
user:      kamil <kamil%NetBSD.org@localhost>
date:      Tue Sep 10 22:34:19 2019 +0000

description:
Switch back _Noreturn to __dead in C11 threads

There is an ongoing discussion to unify unreturn attribute between C and
C++, making a compatible version, shared between languages. Instead of
picking C11-only approach here, switch back to __dead that wraps the
compiler extension for the same purpose.

This change makes this header more compatible with C++ and pre-C11.

Reference:

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2410.pdf

diffstat:

 lib/libpthread/thrd.c    |  6 +++---
 lib/libpthread/threads.h |  4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diffs (45 lines):

diff -r 29e07726a02c -r f931b76558a1 lib/libpthread/thrd.c
--- a/lib/libpthread/thrd.c     Tue Sep 10 09:32:04 2019 +0000
+++ b/lib/libpthread/thrd.c     Tue Sep 10 22:34:19 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: thrd.c,v 1.3 2019/04/29 20:11:43 kamil Exp $   */
+/*     $NetBSD: thrd.c,v 1.4 2019/09/10 22:34:19 kamil Exp $   */
 
 /*-
  * Copyright (c) 2016 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: thrd.c,v 1.3 2019/04/29 20:11:43 kamil Exp $");
+__RCSID("$NetBSD: thrd.c,v 1.4 2019/09/10 22:34:19 kamil Exp $");
 
 #include <assert.h>
 #include <errno.h>
@@ -122,7 +122,7 @@
        return pthread_equal(t1, t2);
 }
 
-_Noreturn void
+__dead void
 thrd_exit(int res)
 {
 
diff -r 29e07726a02c -r f931b76558a1 lib/libpthread/threads.h
--- a/lib/libpthread/threads.h  Tue Sep 10 09:32:04 2019 +0000
+++ b/lib/libpthread/threads.h  Tue Sep 10 22:34:19 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: threads.h,v 1.2 2019/04/24 18:47:54 kamil Exp $        */
+/*     $NetBSD: threads.h,v 1.3 2019/09/10 22:34:19 kamil Exp $        */
 
 /*-
  * Copyright (c) 2016 The NetBSD Foundation, Inc.
@@ -106,7 +106,7 @@
 thrd_t thrd_current(void);
 int    thrd_detach(thrd_t);
 int    thrd_equal(thrd_t, thrd_t);
-_Noreturn void thrd_exit(int);
+__dead void    thrd_exit(int);
 int    thrd_join(thrd_t, int *);
 int    thrd_sleep(const struct timespec *, struct timespec *);
 void   thrd_yield(void);



Home | Main Index | Thread Index | Old Index