libphobos: Fix static asserts on NetBSD, FreeBSD, DragonFlyBSD
authorIain Buclaw <ibuclaw@gdcproject.org>
Thu, 13 May 2021 17:09:48 +0000 (19:09 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Thu, 13 May 2021 17:24:31 +0000 (19:24 +0200)
The function declarations were updated to use `const scope', but the
static asserts were not.

Reviewed-on: https://github.com/dlang/druntime/pull/3470

libphobos/ChangeLog:

* libdruntime/MERGE: Merge upstream druntime 98c6ff0c.

libphobos/libdruntime/MERGE
libphobos/libdruntime/core/sys/dragonflybsd/dlfcn.d
libphobos/libdruntime/core/sys/freebsd/dlfcn.d
libphobos/libdruntime/core/sys/netbsd/dlfcn.d
libphobos/libdruntime/core/sys/posix/dlfcn.d

index 25cbb95..0d554e0 100644 (file)
@@ -1,4 +1,4 @@
-89f870b76710a4cfa96f711bb5b14a7439c5c2a7
+98c6ff0cf1241a0cfac196bf8a0523b1d4ecd3ac
 
 The first line of this file holds the git revision number of the last
 merge done from the dlang/druntime repository.
index 1d3812f..2c5d8d7 100644 (file)
@@ -82,16 +82,13 @@ struct __dlfunc_arg {
 
 alias dlfunc_t = void function(__dlfunc_arg);
 
-private template __externC(RT, P...)
-{
-    alias __externC = extern(C) RT function(P) nothrow @nogc @system;
-}
-
 /* XSI functions first. */
-static assert(is(typeof(&dlclose) == __externC!(int, void*)));
-static assert(is(typeof(&dlerror) == __externC!(char*)));
-static assert(is(typeof(&dlopen)  == __externC!(void*, const char*, int)));
-static assert(is(typeof(&dlsym)   == __externC!(void*, void*, const char*)));
+extern(C) {
+    static assert(is(typeof(&dlclose) == int function(void*)));
+    static assert(is(typeof(&dlerror) == char* function()));
+    static assert(is(typeof(&dlopen)  == void* function(const scope char*, int)));
+    static assert(is(typeof(&dlsym)   == void* function(void*, const scope char*)));
+}
 
 void*    fdlopen(int, int);
 int      dladdr(const(void)*, Dl_info*);
index fad9141..7baacfe 100644 (file)
@@ -90,8 +90,8 @@ static if (__BSD_VISIBLE)
 extern(C) {
     static assert(is(typeof(&dlclose) == int function(void*)));
     static assert(is(typeof(&dlerror) == char* function()));
-    static assert(is(typeof(&dlopen)  == void* function(in char*, int)));
-    static assert(is(typeof(&dlsym)   == void* function(void*, in char*)));
+    static assert(is(typeof(&dlopen)  == void* function(const scope char*, int)));
+    static assert(is(typeof(&dlsym)   == void* function(void*, const scope char*)));
 }
 
 static if (__BSD_VISIBLE)
index dbbcc76..468ffbf 100644 (file)
@@ -87,16 +87,13 @@ static if (__BSD_VISIBLE)
     }
 }
 
-private template __externC(RT, P...)
-{
-    alias __externC = extern(C) RT function(P) nothrow @nogc;
-}
-
 /* XSI functions first. */
-static assert(is(typeof(&dlclose) == __externC!(int, void*)));
-static assert(is(typeof(&dlerror) == __externC!(char*)));
-static assert(is(typeof(&dlopen)  == __externC!(void*, const char*, int)));
-static assert(is(typeof(&dlsym)   == __externC!(void*, void*, const char*)));
+extern(C) {
+    static assert(is(typeof(&dlclose) == int function(void*)));
+    static assert(is(typeof(&dlerror) == char* function()));
+    static assert(is(typeof(&dlopen)  == void* function(const scope char*, int)));
+    static assert(is(typeof(&dlsym)   == void* function(void*, const scope char*)));
+}
 
 static if (__BSD_VISIBLE)
 {
index 2477e26..f6476ec 100644 (file)
@@ -158,8 +158,8 @@ else version (FreeBSD)
 
     int   dlclose(void*);
     char* dlerror();
-    void* dlopen(in char*, int);
-    void* dlsym(void*, in char*);
+    void* dlopen(const scope char*, int);
+    void* dlsym(void*, const scope char*);
     int   dladdr(const(void)* addr, Dl_info* info);
 
     struct Dl_info