From: Hans Leidekker hans@codeweavers.com
Clang understands __attribute__ ((destructor)) syntax just like GCC. This avoids a link failure when atexit() used in the fallback path is not available.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53930 --- libs/ldap/libldap/init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libs/ldap/libldap/init.c b/libs/ldap/libldap/init.c index 5f8f6ec7bdd..a94744b8dcf 100644 --- a/libs/ldap/libldap/init.c +++ b/libs/ldap/libldap/init.c @@ -497,7 +497,7 @@ static void openldap_ldap_init_w_env( } }
-#if defined(__GNUC__) +#if defined(__GNUC__) || defined(__clang__) /* Declare this function as a destructor so that it will automatically be * invoked either at program exit (if libldap is a static library) or * at unload time (if libldap is a dynamic library). @@ -574,7 +574,7 @@ void ldap_int_initialize_global_options( struct ldapoptions *gopts, int *dbglvl */ ldap_url_parselist(&gopts->ldo_defludp, "ldap://localhost/"); gopts->ldo_defport = LDAP_PORT; -#if !defined(__GNUC__) && !defined(PIC) +#if !defined(__GNUC__) && !defined(__clang__) && !defined(PIC) /* Do this only for a static library, and only if we can't * arrange for it to be executed as a library destructor */