]> granicus.if.org Git - php/commitdiff
Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol 'zend_err...
authorDmitry Stogov <dmitry@php.net>
Mon, 13 Jun 2005 11:22:59 +0000 (11:22 +0000)
committerDmitry Stogov <dmitry@php.net>
Mon, 13 Jun 2005 11:22:59 +0000 (11:22 +0000)
The fix is not tested on Solaris and DARWIN!

NEWS
Zend/zend.c
Zend/zend.h
Zend/zend_execute.c

diff --git a/NEWS b/NEWS
index 37f71c6ff0323038237fe240c77c7a7306e4793d..9699347e7ad85474aaf7ab5cefdb431b7b4e4b9f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,8 @@ PHP                                                                        NEWS
   auto-commit mode). (Wez)
 - Fixed bug #33312 (ReflectionParameter methods do not work correctly).
   (Dmitry)
+- Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol
+  'zend_error'). (Dmitry)
 - Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle -pthread).
   (Jani)
 
index 3aac409bc799f6bf66d604169c20a9f94a43d64d..54d8b0c3d83680ff5ba947acf946b8e19806d7c4 100644 (file)
@@ -1025,6 +1025,9 @@ ZEND_API void zend_error(int type, const char *format, ...)
        }
 }
 
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
+void zend_error_noreturn(int type, const char *format, ...) __attribute__ ((alias("zend_error"),noreturn));
+#endif
 
 ZEND_API void zend_output_debug_string(zend_bool trigger_break, char *format, ...)
 {
index 248e7d02330e42e29156d03e8d74ffc3debc1046..548063d0f027da0ddc7247fec48c9ac0619895df 100644 (file)
@@ -250,6 +250,14 @@ char *alloca ();
 #define INTERNAL_FUNCTION_PARAMETERS int ht, zval *return_value, zval *this_ptr, int return_value_used TSRMLS_DC
 #define INTERNAL_FUNCTION_PARAM_PASSTHRU ht, return_value, this_ptr, return_value_used TSRMLS_CC
 
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
+#  define ZEND_VM_ALWAYS_INLINE  __attribute__ ((always_inline))
+void zend_error_noreturn(int type, const char *format, ...) __attribute__ ((noreturn));
+#else
+#  define ZEND_VM_ALWAYS_INLINE
+#  define zend_error_noreturn zend_error
+#endif
+
 
 /*
  * zval
index d3ae96caf514598f68c599ea945cf2d0961ddd00..502a4e7de811b76c40cfce8613804e8c286eb28b 100644 (file)
 #define _UNUSED_CODE 3
 #define _CV_CODE     4
 
-#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(DARWIN) && !defined(__sun__) && !defined(ZEND_VM_OLD_EXECUTOR)
-#  define ZEND_VM_ALWAYS_INLINE  __attribute__ ((always_inline))
-void zend_error_noreturn(int type, const char *format, ...) __attribute__ ((alias("zend_error"),noreturn));
-/*extern void zend_error_noreturn(int type, const char *format, ...) __asm__("zend_error") __attribute__ ((noreturn));*/
-#else
-#  define ZEND_VM_ALWAYS_INLINE
-#  define zend_error_noreturn zend_error
-#endif
-
 typedef int (*incdec_t)(zval *);
 
 #define get_zval_ptr(node, Ts, should_free, type) _get_zval_ptr(node, Ts, should_free, type TSRMLS_CC)