]> granicus.if.org Git - php/commitdiff
Fix visibility
authorAnatol Belski <ab@php.net>
Mon, 23 Oct 2017 11:21:46 +0000 (13:21 +0200)
committerAnatol Belski <ab@php.net>
Mon, 23 Oct 2017 11:27:34 +0000 (13:27 +0200)
ext/gmp/gmp.c
ext/gmp/php_gmp_int.h

index 61fb37a1e2fe8fc0cbb1d57f5197061936777cf4..4b4f7536f44ce20ec07dda922bc65203799947be 100644 (file)
@@ -222,7 +222,7 @@ ZEND_GET_MODULE(gmp)
 static zend_class_entry *gmp_ce;
 static zend_object_handlers gmp_object_handlers;
 
-zend_class_entry *php_gmp_class_entry() {
+PHP_GMP_API zend_class_entry *php_gmp_class_entry() {
        return gmp_ce;
 }
 
index 9dd4c4d7f01a493662b272649dd963b6c1b0d882..d8111a6e47fc1ecf7d9297812ac4bfe6a1861b8a 100644 (file)
@@ -8,6 +8,14 @@
 #include "php.h"
 #include <gmp.h>
 
+#ifdef PHP_WIN32
+# define PHP_GMP_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+# define PHP_GMP_API __attribute__ ((visibility("default")))
+#else
+# define PHP_GMP_API
+#endif
+
 typedef struct _gmp_object {
        mpz_t num;
        zend_object std;
@@ -17,7 +25,7 @@ static inline gmp_object *php_gmp_object_from_zend_object(zend_object *zobj) {
        return (gmp_object *)( ((char *)zobj) - XtOffsetOf(gmp_object, std) );
 }
 
-PHPAPI zend_class_entry *php_gmp_class_entry();
+PHP_GMP_API zend_class_entry *php_gmp_class_entry();
 
 /* GMP and MPIR use different datatypes on different platforms */
 #ifdef PHP_WIN32